Debug.WriteLineIf メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
条件が true
の場合、デバッグについての情報を Listeners コレクションのトレース リスナーに書き込みます。
オーバーロード
WriteLineIf(Boolean, Object, String) |
条件が |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
指定した条件 |
WriteLineIf(Boolean, Object) |
条件が |
WriteLineIf(Boolean, String) |
条件が |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
指定した条件 |
WriteLineIf(Boolean, String, String) |
条件が |
WriteLineIf(Boolean, Object, String)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
条件が true
の場合は、カテゴリ名とオブジェクトの ToString() メソッドの値を Listeners コレクションのトレース リスナーに書き込みます。
public:
static void WriteLineIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object value, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object? value, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * obj * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object, category As String)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が true
の場合、コレクションのトレース リスナーにカテゴリ名と値が書き込まれます。
- category
- String
出力を編成するために使用するカテゴリ名。
- 属性
例
次の例では、 という名前の を TraceSwitch 作成します generalSwitch
。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 以上に TraceLevelError
設定されている場合、最初のエラー メッセージが に出力されます Listeners。 コレクションにリスナーを追加する Listeners 方法については、 クラスを TraceListenerCollection 参照してください。
次に TraceLevel 、 が に Verbose
設定されている場合、最初のメッセージと同じ行に 2 番目のエラー メッセージが出力されます。 2 番目のメッセージの後に行ターミネータが続きます。
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( Object^ myObject, String^ category )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
Debug::WriteIf(generalSwitch->TraceError, "Invalid object for category. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceVerbose, myObject, category );
#endif
}
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");
static public void MyErrorMethod(Object myObject, string category)
{
// Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "Invalid object for category. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, category);
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")
Public Shared Sub MyErrorMethod(myObject As Object, category As String)
' Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "Invalid object for category. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, category)
End Sub
注釈
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
パラメーターを category
使用して、出力メッセージをグループ化できます。
このメソッドは、 WriteLine トレース リスナーの メソッドを呼び出します。
注意 (継承者)
ステートメントを使用する代わりに ステートメントを使用 If...Then
することで、アプリケーションのインストルメント化によるパフォーマンスの低下を WriteLineIf(Boolean, String) 最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例の方がはるかに高速になります。これは、 が に評価された場合 mySwitch.TraceError
は false
を呼び出 WriteLine(String)さないためです。 2 番目の例では、 が でfalse
、トレース出力が生成されない場合mySwitch.TraceError
でも、 は常に を呼び出WriteLineIf(Boolean, String)します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
1 番目の例:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
2 番目の例:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
指定した条件true
が の場合、コレクション内のトレース リスナーにListenersメッセージを書き込みます。
public:
static void WriteLineIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteLineIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が true
の場合、コレクションのトレース リスナーにメッセージが書き込まれます。
書き込むメッセージ。
- 属性
注釈
このオーバーロードは、パフォーマンスを向上させるために .NET 6 で導入されました。 パラメーターを受け取る String
オーバーロードと比較して、このオーバーロードは、メッセージが必要な場合にのみ、挿入文字列の書式設定項目を評価します。
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
このメソッドは、 TraceListener.WriteLine トレース リスナーの メソッドを呼び出します。
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
WriteLineIf(Boolean, Object)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
条件が true
の場合、オブジェクトの ToString() メソッドの値を Listeners コレクションのトレース リスナーに書き込みます。
public:
static void WriteLineIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object? value);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * obj -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が true
の場合、コレクションのトレース リスナーに値が書き込まれます。
- 属性
例
次の例では、 という名前の を TraceSwitch 作成します generalSwitch
。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 以上に TraceLevelError
設定されている場合、最初のエラー メッセージが に出力されます Listeners。 コレクションにリスナーを追加する Listeners 方法については、 クラスを TraceListenerCollection 参照してください。
次に TraceLevel 、 が に Verbose
設定されている場合、最初のメッセージと同じ行にオブジェクトの名前を出力します。 2 番目のメッセージの後に行ターミネータが続きます。
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( Object^ myObject )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
Debug::WriteIf( generalSwitch->TraceError, "Invalid object. " );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceVerbose, myObject );
#endif
}
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");
static public void MyErrorMethod(Object myObject)
{
// Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "Invalid object. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject);
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")
Public Shared Sub MyErrorMethod(myObject As Object)
' Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "Invalid object. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject)
End Sub
注釈
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
このメソッドは、 WriteLine トレース リスナーの メソッドを呼び出します。
注意 (継承者)
ステートメントを使用する代わりに ステートメントを使用 If...Then
することで、アプリケーションのインストルメント化によるパフォーマンスの低下を WriteLineIf(Boolean, String) 最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例の方がはるかに高速になります。これは、 が に評価された場合 mySwitch.TraceError
は false
を呼び出 WriteLine(String)さないためです。 2 番目の例では、 が でfalse
、トレース出力が生成されない場合mySwitch.TraceError
でも、 は常に を呼び出WriteLineIf(Boolean, String)します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
1 番目の例:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
2 番目の例:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
WriteLineIf(Boolean, String)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
条件が true
である場合、メッセージを Listeners コレクションのトレース リスナーに書き込みます。
public:
static void WriteLineIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が true
の場合、コレクションのトレース リスナーにメッセージが書き込まれます。
- message
- String
書き込むメッセージ。
- 属性
例
次の例では、 という名前の を TraceSwitch 作成します generalSwitch
。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 以上に TraceLevelError
設定されている場合、最初のエラー メッセージが に出力されます Listeners。 コレクションにリスナーを追加する Listeners 方法については、 クラスを TraceListenerCollection 参照してください。
次に TraceLevel 、 が に Verbose
設定されている場合、最初のメッセージと同じ行に 2 番目のエラー メッセージが出力されます。 2 番目のメッセージの後に行ターミネータが続きます。
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod()
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
Debug::WriteIf( generalSwitch->TraceError, "My error message. " );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceVerbose,
"My second error message." );
#endif
}
// Class-level declaration.
// Create a TraceSwitch.
TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");
static void MyErrorMethod()
{
// Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "My error message. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.");
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")
Public Shared Sub MyErrorMethod()
' Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "My error message. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub
注釈
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
このメソッドは、 TraceListener.WriteLine トレース リスナーの メソッドを呼び出します。
注意 (継承者)
ステートメントを使用する代わりに ステートメントを使用 If...Then
することで、アプリケーションのインストルメント化によるパフォーマンスの低下を WriteLineIf(Boolean, String) 最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例の方がはるかに高速になります。これは、 が に評価された場合 mySwitch.TraceError
は false
を呼び出 WriteLine(String)さないためです。 2 番目の例では、 が でfalse
、トレース出力が生成されない場合mySwitch.TraceError
でも、 は常に を呼び出WriteLineIf(Boolean, String)します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
1 番目の例:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
2 番目の例:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
指定した条件true
が の場合、カテゴリ名とメッセージをコレクション内のListenersトレース リスナーに書き込みます。
public:
static void WriteLineIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler, category As String)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が の場合、 true
メッセージとカテゴリ名はコレクション内のトレース リスナーに書き込まれます。
書き込むメッセージ。
- category
- String
出力を編成するために使用するカテゴリ名。
- 属性
注釈
このオーバーロードは、パフォーマンスを向上させるために .NET 6 で導入されました。 パラメーターを受け取る String
オーバーロードと比較して、このオーバーロードは、メッセージが必要な場合にのみ、挿入文字列の書式設定項目を評価します。
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
パラメーターを category
使用して、出力メッセージをグループ化できます。
このメソッドは、 TraceListener.WriteLine トレース リスナーの メソッドを呼び出します。
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
WriteLineIf(Boolean, String, String)
- ソース:
- Debug.cs
- ソース:
- Debug.cs
- ソース:
- Debug.cs
条件が true
である場合、カテゴリ名とメッセージを Listeners コレクションのトレース リスナーに書き込みます。
public:
static void WriteLineIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string message, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string? message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * string * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String, category As String)
パラメーター
- condition
- Boolean
評価する条件式です。 条件が の場合、 true
メッセージ名と分類名はコレクション内のトレース リスナーに書き込まれます。
- message
- String
書き込むメッセージ。
- category
- String
出力を編成するために使用するカテゴリ名。
- 属性
例
次の例では、 という名前の を TraceSwitch 作成します generalSwitch
。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 以上に TraceLevelError
設定されている場合、最初のエラー メッセージが に出力されます Listeners。 コレクションにリスナーを追加する Listeners 方法については、 クラスを TraceListenerCollection 参照してください。
次に TraceLevel 、 が に Verbose
設定されている場合、2 番目のエラー メッセージと、 を最初のメッセージと category
同じ行に出力します。 2 番目のメッセージの後に行ターミネータが続きます。
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( String^ category )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
Debug::WriteIf( generalSwitch->TraceError, "My error message. " );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceVerbose,
"My second error message.", category );
#endif
}
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");
static public void MyErrorMethod(string category)
{
// Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "My error message. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", category);
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")
Public Shared Sub MyErrorMethod(category As String)
' Write the message if the TraceSwitch level is set to Error or higher.
Debug.WriteIf(generalSwitch.TraceError, "My error message. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", category)
End Sub
注釈
既定では、出力は の DefaultTraceListenerインスタンスに書き込まれます。
パラメーターを category
使用して、出力メッセージをグループ化できます。
このメソッドは、 TraceListener.WriteLine トレース リスナーの メソッドを呼び出します。
注意 (継承者)
ステートメントを使用する代わりに ステートメントを使用 If...Then
することで、アプリケーションのインストルメント化によるパフォーマンスの低下を WriteLineIf(Boolean, String) 最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例の方がはるかに高速になります。これは、 が に評価された場合 mySwitch.TraceError
は false
を呼び出 WriteLine(String)さないためです。 2 番目の例では、 が でfalse
、トレース出力が生成されない場合mySwitch.TraceError
でも、 は常に を呼び出WriteLineIf(Boolean, String)します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
1 番目の例:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
2 番目の例:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
こちらもご覧ください
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示