Debug.WriteIf Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schreibt Informationen zum Debuggen in die Ablaufverfolgungslistener in der Listeners -Auflistung, wenn eine Bedingung trueist.
Überlädt
| WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Wenn |
| WriteIf(Boolean, Object) |
Schreibt den Wert der ToString() Methode des Objekts in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine Bedingung |
| WriteIf(Boolean, String) |
Schreibt eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine Bedingung |
| WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Schreibt einen Kategorienamen und eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung |
| 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 |
| WriteIf(Boolean, String, String) |
Schreibt einen Kategorienamen und eine Nachricht in die Listener der Ablaufverfolgung in der Listeners Auflistung, wenn eine Bedingung |
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Wenn conditiontrueist, schreibt ein Kategoriename und eine Nachricht in die Ablaufverfolgungslistener in der Listeners-Auflistung.
public:
static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, wird der Wert in die Ablaufverfolgungslistener in der Auflistung geschrieben.
Die zu schreibende Nachricht, wenn conditiontrueist.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter verwenden, wertet diese Überladung nur interpolierte Zeichenfolgenformatierungselemente aus, wenn die Nachricht erforderlich ist.
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListenergeschrieben.
Verwenden Sie den parameter category, um Ausgabemeldungen zu gruppieren.
Diese Methode ruft die Write Methode des Ablaufverfolgungslisteners auf.
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteIf(Boolean, Object)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Schreibt den Wert der ToString() Methode des Objekts in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine Bedingung trueist.
public:
static void WriteIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, object value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, object? value);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * obj -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, wird der Wert in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- Attribute
Beispiele
Im folgenden Beispiel wird ein TraceSwitch namens generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf die TraceLevelError oder höher festgelegt ist, gibt das Beispiel den Vornamen des Wertparameters an die Listenersaus. Informationen zum Hinzufügen eines Listeners zur Listeners-Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn dann die TraceLevel auf Verbosefestgelegt ist, gibt das Beispiel eine Nachricht in derselben Zeile wie die erste Nachricht aus. Ein Zeilenendpunkt folgt der zweiten Nachricht.
// 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, myObject );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::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.
Debug.WriteIf(generalSwitch.TraceError, myObject);
// Write a second message if the TraceSwitch level is set to Verbose.
Debug.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.
Debug.WriteIf(generalSwitch.TraceError, myObject)
' Write a second message if the TraceSwitch level is set to Verbose.
Debug.WriteLineIf(generalSwitch.TraceVerbose, " is not a valid value for this method.")
End Sub
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz 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 Sie If...Then Anweisungen verwenden, anstatt WriteIf(Boolean, String) Anweisungen zu verwenden. In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError zu falseausgewertet wird, rufen Sie Write(String)nicht auf. Im zweiten Beispiel wird immer WriteIf(Boolean, String)aufgerufen, auch wenn mySwitch.TraceErrorfalse ist 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)
Debug.Write("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteIf(Boolean, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Schreibt eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine Bedingung trueist.
public:
static void WriteIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, wird die Nachricht in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- message
- String
Eine zu schreibende Nachricht.
- Attribute
Beispiele
Im folgenden Beispiel wird ein TraceSwitch namens generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf die TraceLevelError oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung an die Listenersaus. Informationen zum Hinzufügen eines Listeners zur Listeners-Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn die TraceLevel auf Verbosefestgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Ein Zeilenendpunkt folgt der zweiten Nachricht.
// 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::WriteIf( 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.WriteIf(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.WriteIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz 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 Sie If...Then Anweisungen verwenden, anstatt WriteIf(Boolean, String) Anweisungen zu verwenden. In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError zu falseausgewertet wird, rufen Sie Write(String)nicht auf. Im zweiten Beispiel wird immer WriteIf(Boolean, String)aufgerufen, auch wenn mySwitch.TraceErrorfalse ist 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)
Debug.Write("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Schreibt einen Kategorienamen und eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung trueist.
public:
static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler, category As String)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, wird die Nachricht in die Ablaufverfolgungslistener in der Auflistung geschrieben.
Die zu schreibende Nachricht.
- category
- String
Ein Kategoriename, der zum Organisieren der Ausgabe verwendet wird.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter verwenden, wertet diese Überladung nur interpolierte Zeichenfolgenformatierungselemente aus, wenn die Nachricht erforderlich ist.
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListenergeschrieben.
Verwenden Sie den parameter category, um Ausgabemeldungen zu gruppieren.
Diese Methode ruft die Write Methode des Ablaufverfolgungslisteners auf.
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteIf(Boolean, Object, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Schreibt einen Kategorienamen und den Wert der ToString() Methode des Objekts in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine Bedingung trueist.
public:
static void WriteIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, object value, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, object? value, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * obj * string -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object, category As String)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, werden der Kategoriename und der Wert in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- category
- String
Ein Kategoriename, der zum Organisieren der Ausgabe verwendet wird.
- Attribute
Beispiele
Im folgenden Beispiel wird ein TraceSwitch namens generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf die TraceLevelVerbosefestgelegt ist, gibt das Beispiel den Namen des myObject und die category an die Listenersaus. Informationen zum Hinzufügen eines Listeners zur Listeners-Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn die TraceLevel dann auf Error oder höher festgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Ein Zeilenendpunkt folgt der zweiten Nachricht.
// 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->TraceVerbose, myObject, category );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::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.
Debug.WriteIf(generalSwitch.TraceVerbose, myObject, category);
// Write a second message if the TraceSwitch level is set to Error or higher.
Debug.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.
Debug.WriteIf(generalSwitch.TraceVerbose, myObject, category)
' Write a second message if the TraceSwitch level is set to Error or higher.
Debug.WriteLineIf(generalSwitch.TraceError, " Object is not valid for this category.")
End Sub
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListenergeschrieben.
Der parameter category kann zum Gruppieren von Ausgabemeldungen verwendet werden.
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 Sie If...Then Anweisungen verwenden, anstatt WriteIf(Boolean, String) Anweisungen zu verwenden. In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError zu falseausgewertet wird, rufen Sie Write(String)nicht auf. Im zweiten Beispiel wird immer WriteIf(Boolean, String)aufgerufen, auch wenn mySwitch.TraceErrorfalse ist 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)
Debug.Write("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteIf(Boolean, String, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Schreibt einen Kategorienamen und eine Nachricht in die Listener der Ablaufverfolgung in der Listeners Auflistung, wenn eine Bedingung trueist.
public:
static void WriteIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, string message, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, string? message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * string * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String, category As String)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung trueist, werden der Kategoriename und die Nachricht in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- message
- String
Eine zu schreibende Nachricht.
- category
- String
Ein Kategoriename, der zum Organisieren der Ausgabe verwendet wird.
- Attribute
Beispiele
Im folgenden Beispiel wird ein TraceSwitch namens generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf die TraceLevelVerbosefestgelegt ist, gibt das Beispiel die erste Fehlermeldung an die Listenersaus. Informationen zum Hinzufügen eines Listeners zur Listeners-Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn die TraceLevel dann auf Error oder höher festgelegt ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Ein Zeilenendpunkt folgt der zweiten Nachricht.
// 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->TraceVerbose, String::Concat( myObject,
" is not a valid object for category: " ), category );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::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.
Debug.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.
Debug.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.
Debug.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.
Debug.WriteLineIf(generalSwitch.TraceError, " Please use a different category.")
End Sub
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListenergeschrieben.
Der parameter category kann zum Gruppieren von Ausgabemeldungen verwendet werden.
Diese Methode ruft die TraceListener.Write Methode des Ablaufverfolgungslisteners auf.
Hinweise für Vererber
Sie können die Leistungseinbußen bei der Instrumentierung Ihrer Anwendung minimieren, indem Sie If...Then Anweisungen verwenden, anstatt WriteIf(Boolean, String) Anweisungen zu verwenden. In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError zu falseausgewertet wird, rufen Sie Write(String)nicht auf. Im zweiten Beispiel wird immer WriteIf(Boolean, String)aufgerufen, auch wenn mySwitch.TraceErrorfalse ist 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)
Debug.Write("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute