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
場合は、Listeners コレクション内のトレース リスナーに、カテゴリ名とオブジェクトの ToString() メソッドの値を書き込みます。
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
出力を整理するために使用されるカテゴリ名。
- 属性
例
次の例では、generalSwitch
という名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 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 メソッドを呼び出します。
注意 (継承者)
WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then
ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。mySwitch.TraceError
が false
に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceError
が false
され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
最初の例:
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
場合は、Listeners コレクション内のトレース リスナーにオブジェクトの ToString() メソッドの値を書き込みます。
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
の場合、値はコレクション内のトレース リスナーに書き込まれます。
- 属性
例
次の例では、generalSwitch
という名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 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 メソッドを呼び出します。
注意 (継承者)
WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then
ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。mySwitch.TraceError
が false
に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceError
が false
され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
最初の例:
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
書き込むメッセージ。
- 属性
例
次の例では、generalSwitch
という名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 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 メソッドを呼び出します。
注意 (継承者)
WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then
ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。mySwitch.TraceError
が false
に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceError
が false
され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
最初の例:
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
出力を整理するために使用されるカテゴリ名。
- 属性
例
次の例では、generalSwitch
という名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。
スイッチが 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 メソッドを呼び出します。
注意 (継承者)
WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then
ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。mySwitch.TraceError
が false
に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceError
が false
され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。
最初の例:
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