次の方法で共有


Trace.WriteLineIf メソッド

定義

条件が true場合は、Listeners コレクション内のトレース リスナーにトレースに関する情報を書き込みます。

オーバーロード

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, Object)

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

WriteLineIf(Boolean, String)

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

WriteLineIf(Boolean, String, String)

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

WriteLineIf(Boolean, Object, String)

ソース:
Trace.cs
ソース:
Trace.cs
ソース:
Trace.cs

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

public:
 static void WriteLineIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object? value, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object value, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * obj * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object, category As String)

パラメーター

condition
Boolean

メッセージを書き込む true。それ以外の場合は、falseします。

value
Object

Listenersに名前が送信される Object

category
String

出力を整理するために使用されるカテゴリ名。

属性

次の例では、generalSwitchという名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。

スイッチが TraceLevelError 以上に設定されている場合、最初のエラー メッセージが Listenersに出力されます。 Listeners コレクションにリスナーを追加する方法については、TraceListenerCollection クラスを参照してください。

次に、TraceLevelVerboseに設定されている場合、2 番目のエラー メッセージを最初のメッセージと同じ行に出力します。 2 番目のメッセージの後に行ターミネータが続きます。

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject, String^ category )
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set
      // to Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, 
         "Invalid object for category. " );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::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.
    Trace.WriteIf(generalSwitch.TraceError, "Invalid object for category. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceError, "Invalid object for category. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, myObject, category)
End Sub

注釈

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

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

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

注意 (継承者)

WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。これは、mySwitch.TraceErrorfalse に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceErrorfalse され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。

最初の例

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

2 番目の例の

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

こちらもご覧ください

適用対象

WriteLineIf(Boolean, Object)

ソース:
Trace.cs
ソース:
Trace.cs
ソース:
Trace.cs

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

public:
 static void WriteLineIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object? value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object value);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * obj -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object)

パラメーター

condition
Boolean

メッセージを書き込む true。それ以外の場合は、falseします。

value
Object

Listenersに名前が送信される Object

属性

次の例では、generalSwitchという名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。

スイッチが TraceLevelError 以上に設定されている場合、最初のエラー メッセージが Listenersに出力されます。 Listeners コレクションにリスナーを追加する方法については、TraceListenerCollection クラスを参照してください。

次に、TraceLevelVerboseに設定すると、最初のメッセージと同じ行にオブジェクトの名前が出力されます。 2 番目のメッセージの後に行ターミネータが続きます。

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject )
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level 
      // is set to Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, "Invalid object. " );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::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.
    Trace.WriteIf(generalSwitch.TraceError, "Invalid object. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceError, "Invalid object. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, myObject)
End Sub

注釈

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

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

注意 (継承者)

WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。これは、mySwitch.TraceErrorfalse に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceErrorfalse され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。

最初の例

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

2 番目の例の

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

こちらもご覧ください

適用対象

WriteLineIf(Boolean, String)

ソース:
Trace.cs
ソース:
Trace.cs
ソース:
Trace.cs

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

public:
 static void WriteLineIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string? message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string message);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String)

パラメーター

condition
Boolean

メッセージを書き込む true。それ以外の場合は、falseします。

message
String

書き込むメッセージ。

属性

次の例では、generalSwitchという名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。

スイッチが TraceLevelError 以上に設定されている場合、最初のエラー メッセージが Listenersに出力されます。 Listeners コレクションにリスナーを追加する方法については、TraceListenerCollection クラスを参照してください。

次に、TraceLevelVerboseに設定されている場合、2 番目のエラー メッセージを最初のメッセージと同じ行に出力します。 2 番目のメッセージの後に行ターミネータが続きます。

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod()
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set to
      // Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, "My error message. " );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::WriteLineIf( generalSwitch->TraceVerbose, 
         "My second error message." );
      #endif
   }
// Class-level declaration.
 // Create a TraceSwitch.
 static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

 static public void MyErrorMethod() {
    // Write the message if the TraceSwitch level is set to Error or higher.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub

注釈

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

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

注意 (継承者)

WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。これは、mySwitch.TraceErrorfalse に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceErrorfalse され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。

最初の例

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

2 番目の例の

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

こちらもご覧ください

適用対象

WriteLineIf(Boolean, String, String)

ソース:
Trace.cs
ソース:
Trace.cs
ソース:
Trace.cs

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

public:
 static void WriteLineIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string? message, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string message, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * string * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String, category As String)

パラメーター

condition
Boolean

メッセージを書き込む true。それ以外の場合は、falseします。

message
String

書き込むメッセージ。

category
String

出力を整理するために使用されるカテゴリ名。

属性

次の例では、generalSwitchという名前の TraceSwitch を作成します。 このスイッチは、コード サンプルの外部で設定されます。

スイッチが TraceLevelError 以上に設定されている場合、最初のエラー メッセージが Listenersに出力されます。 Listeners コレクションにリスナーを追加する方法については、TraceListenerCollection クラスを参照してください。

次に、TraceLevelVerboseに設定されている場合、2 番目のエラー メッセージと category を最初のメッセージと同じ行に出力します。 2 番目のメッセージの後に行ターミネータが続きます。

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod( String^ category )
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set 
      // to Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, "My error message. " );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::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.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, _
        "My second error message.", category)
End Sub

注釈

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

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

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

注意 (継承者)

WriteLineIf(Boolean, String) ステートメントを使用する代わりに、If...Then ステートメントを使用することで、アプリケーションのインストルメント化のパフォーマンス低下を最小限に抑えることができます。 次の 2 つのコード例では、同じデバッグ メッセージを送信します。 ただし、トレースがオフの場合、最初の例ははるかに高速です。これは、mySwitch.TraceErrorfalse に評価された場合、WriteLine(String)を呼び出さないためです。 2 番目の例では、mySwitch.TraceErrorfalse され、トレース出力が生成されない場合でも、常に WriteLineIf(Boolean, String)を呼び出します。 これにより、任意に複雑なコードが不要に実行される可能性があります。

最初の例

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

2 番目の例の

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

こちらもご覧ください

適用対象