Debug.WriteLineIf メソッド

定義

条件が true の場合、デバッグについての情報を Listeners コレクションのトレース リスナーに書き込みます。

オーバーロード

WriteLineIf(Boolean, Object, String)

条件が true の場合は、カテゴリ名とオブジェクトの ToString() メソッドの値を Listeners コレクションのトレース リスナーに書き込みます。

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

指定した条件trueがある場合は、コレクション内のトレース リスナーにListenersメッセージを書き込みます。

WriteLineIf(Boolean, Object)

条件が true の場合、オブジェクトの ToString() メソッドの値を Listeners コレクションのトレース リスナーに書き込みます。

WriteLineIf(Boolean, String)

条件が true である場合、メッセージを Listeners コレクションのトレース リスナーに書き込みます。

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

指定した条件trueが指定されている場合は、カテゴリ名とメッセージをコレクション内のListenersトレース リスナーに書き込みます。

WriteLineIf(Boolean, String, String)

条件が true である場合、カテゴリ名とメッセージを Listeners コレクションのトレース リスナーに書き込みます。

WriteLineIf(Boolean, Object, String)

条件が 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 の場合、コレクションのトレース リスナーにカテゴリ名と値が書き込まれます。

value
Object

名前が Listeners に送信されるオブジェクト。

category
String

出力を編成するために使用するカテゴリ名。

属性

次の例では、名前付 TraceSwitchgeneralSwitch. このスイッチは、コード サンプルの外部で設定されます。

スイッチが上記以上に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 番目の例では、mySwitch.TraceError が実行され、トレース出力がfalse生成されない場合でも、常に呼び出WriteLineIf(Boolean, String)されます。 これにより、任意に複雑なコードが不要に実行される可能性があります。

1 番目の例:

if(mySwitch.TraceError)
    Debug.WriteLine("aNumber = " + aNumber + " out of range");

2 番目の例:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

こちらもご覧ください

適用対象

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

指定した条件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 の場合、コレクションのトレース リスナーにメッセージが書き込まれます。

message
Debug.WriteIfInterpolatedStringHandler

書き込むメッセージ。

属性

注釈

このオーバーロードは、パフォーマンスを向上させるために .NET 6 で導入されました。 パラメーターを受け取る String オーバーロードと比較して、このオーバーロードは、メッセージが必要な場合にのみ、挿入文字列の書式設定項目を評価します。

既定では、出力は次の DefaultTraceListenerインスタンスに書き込まれます。

このメソッドは、 TraceListener.WriteLine トレース リスナーのメソッドを呼び出します。

こちらもご覧ください

適用対象

WriteLineIf(Boolean, Object)

条件が 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 の場合、コレクションのトレース リスナーに値が書き込まれます。

value
Object

名前が Listeners に送信されるオブジェクト。

属性

次の例では、名前付き 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 番目の例では、mySwitch.TraceError が実行され、トレース出力がfalse生成されない場合でも、常に呼び出WriteLineIf(Boolean, String)されます。 これにより、任意に複雑なコードが不要に実行される可能性があります。

1 番目の例:

if(mySwitch.TraceError)
    Debug.WriteLine("aNumber = " + aNumber + " out of range");

2 番目の例:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

こちらもご覧ください

適用対象

WriteLineIf(Boolean, String)

条件が 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

書き込むメッセージ。

属性

次の例では、名前付 TraceSwitchgeneralSwitch. このスイッチは、コード サンプルの外部で設定されます。

スイッチが上記以上に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 番目の例では、mySwitch.TraceError が実行され、トレース出力がfalse生成されない場合でも、常に呼び出WriteLineIf(Boolean, String)されます。 これにより、任意に複雑なコードが不要に実行される可能性があります。

1 番目の例:

if(mySwitch.TraceError)
    Debug.WriteLine("aNumber = " + aNumber + " out of range");

2 番目の例:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

こちらもご覧ください

適用対象

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

指定した条件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メッセージとカテゴリ名はコレクション内のトレース リスナーに書き込まれます。

message
Debug.WriteIfInterpolatedStringHandler

書き込むメッセージ。

category
String

出力を編成するために使用するカテゴリ名。

属性

注釈

このオーバーロードは、パフォーマンスを向上させるために .NET 6 で導入されました。 パラメーターを受け取る String オーバーロードと比較して、このオーバーロードは、メッセージが必要な場合にのみ、補間された文字列書式指定項目のみを評価します。

既定では、出力は . のインスタンス DefaultTraceListenerに書き込まれます。

このパラメーターを category 使用して、出力メッセージをグループ化できます。

このメソッドは、 TraceListener.WriteLine トレース リスナーのメソッドを呼び出します。

こちらもご覧ください

適用対象

WriteLineIf(Boolean, String, String)

条件が 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

出力を編成するために使用するカテゴリ名。

属性

次の例では、名前付 TraceSwitchgeneralSwitch. このスイッチは、コード サンプルの外部で設定されます。

スイッチが上記以上に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 番目の例では、mySwitch.TraceError が実行され、トレース出力がfalse生成されない場合でも、常に呼び出WriteLineIf(Boolean, String)されます。 これにより、任意に複雑なコードが不要に実行される可能性があります。

1 番目の例:

if(mySwitch.TraceError)
    Debug.WriteLine("aNumber = " + aNumber + " out of range");

2 番目の例:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

こちらもご覧ください

適用対象