Trace.WriteIf Methode

Definition

Schreibt Informationen über die Ablaufverfolgung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

Überlädt

WriteIf(Boolean, String, String)

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

WriteIf(Boolean, Object, String)

Schreibt einen Kategorienamen und den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

WriteIf(Boolean, Object)

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

WriteIf(Boolean, String)

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

WriteIf(Boolean, String, String)

Quelle:
Trace.cs
Quelle:
Trace.cs
Quelle:
Trace.cs

Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

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)

Parameter

condition
Boolean

true, um das Schreiben einer Meldung zu bewirken, andernfalls false.

message
String

Eine zu schreibende Meldung.

category
String

Ein Kategoriename für die Anordnung der Ausgabe.

Attribute

Beispiele

Im folgenden Beispiel wird ein TraceSwitch mit dem Namen generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.

Wenn der Schalter auf TraceLevelVerbosefestgelegt ist, gibt das Beispiel die erste Fehlermeldung an aus Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection -Klasse.

Wenn dann auf TraceLevelError oder höher festgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Auf die zweite Nachricht folgt ein Zeilenabschlusszeichen.

// 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

Hinweise

Standardmäßig wird die Ausgabe in eine instance von DefaultTraceListenergeschrieben.

Der category Parameter kann verwendet werden, um Ausgabemeldungen zu gruppieren.

Diese Methode ruft die Write -Methode des Ablaufverfolgungslisteners auf.

Hinweise für Vererber

Sie können die Leistungseinbußen bei der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie -Anweisungen anstelle von -Anweisungen verwenden WriteIf(Boolean, String) . Die folgenden beiden Codebeispiele senden dieselbe Debugnachricht. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da , wenn mySwitch.TraceError ausgewertet wird, false nicht aufgerufen Write(String)wird. Im zweiten Beispiel wird immer aufgerufen WriteIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erzeugt wird. Dies kann zu einer unnötigen Ausführung von willkürlich komplexem Code führen.

Erstes Beispiel

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

Zweites Beispiel

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

Weitere Informationen

Gilt für:

WriteIf(Boolean, Object, String)

Quelle:
Trace.cs
Quelle:
Trace.cs
Quelle:
Trace.cs

Schreibt einen Kategorienamen und den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

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)

Parameter

condition
Boolean

true, um das Schreiben einer Meldung zu bewirken, andernfalls false.

value
Object

Ein Object, dessen Name an die Listeners gesendet wird.

category
String

Ein Kategoriename für die Anordnung der Ausgabe.

Attribute

Beispiele

Im folgenden Beispiel wird ein TraceSwitch mit dem Namen generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.

Wenn der Schalter auf TraceLevelVerbosefestgelegt ist, gibt das Beispiel den Namen von myObject und an category aus Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection -Klasse.

Wenn dann auf TraceLevelError oder höher festgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Auf die zweite Nachricht folgt ein Zeilenabschlusszeichen.

// 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

Hinweise

Standardmäßig wird die Ausgabe in eine instance von DefaultTraceListenergeschrieben.

Der category Parameter kann verwendet werden, um Ausgabemeldungen zu gruppieren.

Diese Methode ruft die Write -Methode des Ablaufverfolgungslisteners auf.

Hinweise für Vererber

Sie können die Leistungseinbußen bei der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie -Anweisungen anstelle von -Anweisungen verwenden WriteIf(Boolean, String) . Die folgenden beiden Codebeispiele senden dieselbe Debugnachricht. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da , wenn mySwitch.TraceError ausgewertet wird, false nicht aufgerufen Write(String)wird. Im zweiten Beispiel wird immer aufgerufen WriteIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erzeugt wird. Dies kann zu einer unnötigen Ausführung von willkürlich komplexem Code führen.

Erstes Beispiel

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

Zweites Beispiel

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

Weitere Informationen

Gilt für:

WriteIf(Boolean, Object)

Quelle:
Trace.cs
Quelle:
Trace.cs
Quelle:
Trace.cs

Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

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)

Parameter

condition
Boolean

true, um das Schreiben einer Meldung zu bewirken, andernfalls false.

value
Object

Ein Object, dessen Name an die Listeners gesendet wird.

Attribute

Beispiele

Im folgenden Beispiel wird ein TraceSwitch mit dem Namen generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.

Wenn der Schalter auf oder TraceLevelError höher festgelegt ist, gibt das Beispiel den Vornamen des value-Parameters an aus Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection -Klasse.

Wenn dann auf TraceLevelVerbosefestgelegt ist, gibt das Beispiel eine Nachricht in derselben Zeile wie die erste Nachricht aus. Auf die zweite Nachricht folgt ein Zeilenabschlusszeichen.

// 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

Hinweise

Standardmäßig wird die Ausgabe in eine instance von DefaultTraceListenergeschrieben.

Diese Methode ruft die Write -Methode des Ablaufverfolgungslisteners auf.

Hinweise für Vererber

Sie können die Leistungseinbußen bei der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie -Anweisungen anstelle von -Anweisungen verwenden WriteIf(Boolean, String) . Die folgenden beiden Codebeispiele senden dieselbe Debugnachricht. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da , wenn mySwitch.TraceError ausgewertet wird, false nicht aufgerufen Write(String)wird. Im zweiten Beispiel wird immer aufgerufen WriteIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erzeugt wird. Dies kann zu einer unnötigen Ausführung von willkürlich komplexem Code führen.

Erstes Beispiel

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

Zweites Beispiel

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

Weitere Informationen

Gilt für:

WriteIf(Boolean, String)

Quelle:
Trace.cs
Quelle:
Trace.cs
Quelle:
Trace.cs

Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.

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)

Parameter

condition
Boolean

true, um das Schreiben einer Meldung zu bewirken, andernfalls false.

message
String

Eine zu schreibende Meldung.

Attribute

Beispiele

Im folgenden Beispiel wird ein TraceSwitch mit dem Namen generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.

Wenn der Schalter auf TraceLevelError oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung an aus Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection -Klasse.

Wenn dann auf TraceLevelVerbosefestgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Auf die zweite Nachricht folgt ein Zeilenabschlusszeichen.

// 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

Hinweise

Standardmäßig wird die Ausgabe in eine instance von DefaultTraceListenergeschrieben.

Diese Methode ruft die Write -Methode des Ablaufverfolgungslisteners auf.

Hinweise für Vererber

Sie können die Leistungseinbußen bei der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie -Anweisungen anstelle von -Anweisungen verwenden WriteIf(Boolean, String) . Die folgenden beiden Codebeispiele senden dieselbe Debugnachricht. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da , wenn mySwitch.TraceError ausgewertet wird, false nicht aufgerufen Write(String)wird. Im zweiten Beispiel wird immer aufgerufen WriteIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erzeugt wird. Dies kann zu einer unnötigen Ausführung von willkürlich komplexem Code führen.

Erstes Beispiel

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

Zweites Beispiel

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

Weitere Informationen

Gilt für: