Trace.WriteIf メソッド

定義

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

オーバーロード

WriteIf(Boolean, String, String)

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

WriteIf(Boolean, Object, String)

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

WriteIf(Boolean, Object)

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

WriteIf(Boolean, String)

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

WriteIf(Boolean, String, String)

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

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

パラメーター

condition
Boolean

メッセージが書き込まれるようにするには true。それ以外の場合は false

message
String

書き込むメッセージ。

category
String

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

属性

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

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

次に、が以上に設定されている場合、この例では、 TraceLevel Error 最初のメッセージと同じ行に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 Verbose.
      Trace::WriteIf( generalSwitch->TraceVerbose,
         String::Concat( myObject, 
         " is not a valid object for category: " ), category );
      
      // Write a second message if the TraceSwitch level is set
      // to Error or higher.
      Trace::WriteLineIf( generalSwitch->TraceError, 
         " Please use a different 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 Verbose.
    Trace.WriteIf(generalSwitch.TraceVerbose, myObject.ToString() +
       " is not a valid object for category: ", category);

    // Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.WriteLineIf(generalSwitch.TraceError, " Please use a different 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 Verbose.
    Trace.WriteIf(generalSwitch.TraceVerbose, myObject.ToString() & _
        " is not a valid object for category: ", category)
    
    ' Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.WriteLineIf(generalSwitch.TraceError, _
        " Please use a different category.")
End Sub

注釈

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

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

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

注意 (継承者)

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

最初の例

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

2番目の例

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

こちらもご覧ください

適用対象

WriteIf(Boolean, Object, String)

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

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

パラメーター

condition
Boolean

メッセージが書き込まれるようにするには true。それ以外の場合は false

value
Object

名前が Listeners に送信される Object

category
String

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

属性

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

スイッチがに設定されている場合、この例では、 TraceLevel Verbose およびの名前がに出力され myObject category Listeners ます。 リスナーをコレクションに追加する方法の詳細につい Listeners ては、クラスを参照してください TraceListenerCollection

次に、が以上に設定されている場合、この例では、 TraceLevel Error 最初のメッセージと同じ行に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 Verbose.
      Trace::WriteIf( generalSwitch->TraceVerbose, myObject, category );
      
      // Write a second message if the TraceSwitch level is set to
      // Error or higher.
      Trace::WriteLineIf( generalSwitch->TraceError, 
         " Object is not valid for this 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 Verbose.
    Trace.WriteIf(generalSwitch.TraceVerbose, myObject, category);

    // Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.WriteLineIf(generalSwitch.TraceError, " Object is not valid for this 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 Verbose.
    Trace.WriteIf(generalSwitch.TraceVerbose, myObject, category)
    
    ' Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.WriteLineIf(generalSwitch.TraceError, _
        " Object is not valid for this category.")
End Sub

注釈

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

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

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

注意 (継承者)

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

最初の例

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

2番目の例

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

こちらもご覧ください

適用対象

WriteIf(Boolean, Object)

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

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

パラメーター

condition
Boolean

メッセージが書き込まれるようにするには true。それ以外の場合は false

value
Object

名前が Listeners に送信される Object

属性

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

スイッチが以降に設定されている場合、この例では TraceLevel Error 、値パラメーターの名をに出力し Listeners ます。 リスナーをコレクションに追加する方法の詳細につい Listeners ては、クラスを参照してください TraceListenerCollection

次に、がに設定されている場合、この例では、 TraceLevel Verbose 最初のメッセージと同じ行にメッセージを出力します。 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, myObject );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::WriteLineIf( generalSwitch->TraceVerbose, 
         " is not a valid value for this method." );
      #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, myObject);

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, " is not a valid value for this method.");
 }
' 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, myObject)
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(generalSwitch.TraceVerbose, _
        " is not a valid value for this method.")
End Sub

注釈

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

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

注意 (継承者)

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

最初の例

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

2番目の例

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

こちらもご覧ください

適用対象

WriteIf(Boolean, String)

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

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

パラメーター

condition
Boolean

メッセージが書き込まれるようにするには true。それ以外の場合は false

message
String

書き込むメッセージ。

属性

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

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

次に、がに設定されている場合、この例では、 TraceLevel Verbose 最初のメッセージと同じ行に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 ます。

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

注意 (継承者)

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

最初の例

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

2番目の例

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

こちらもご覧ください

適用対象