Debug.WriteLineIf 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 über das Debuggen in die Ablaufverfolgungsüberwachungen in der Listeners-Auflistung, wenn eine Bedingung true ist.
Überlädt
| WriteLineIf(Boolean, Object, String) |
Schreibt einen Kategorienamen und den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung |
| WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Schreibt eine Nachricht an die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung ist |
| WriteLineIf(Boolean, Object) |
Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung |
| WriteLineIf(Boolean, String) |
Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung |
| WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Schreibt einen Kategorienamen und eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung lautet |
| WriteLineIf(Boolean, String, String) |
Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung |
WriteLineIf(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.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung true ist, werden der Kategoriename und der Wert in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- category
- String
Ein Kategoriename für die Anordnung der Ausgabe.
- Attribute
Beispiele
Im folgenden Beispiel wird ein benannter TraceSwitch generalSwitchName erstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf den TraceLevel Error oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung in die Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn dies TraceLevel auf Verbose"festgelegt" ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Ein Zeilenterminator 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->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
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Der category Parameter kann zum Gruppieren von Ausgabenachrichten verwendet werden.
Diese Methode ruft die WriteLine Methode des Ablaufverfolgungslisteners auf.
Hinweise für Vererber
Sie können die Leistungsstrafe der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie Anweisungen anstelle von Anweisungen verwenden WriteLineIf(Boolean, String) . In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError ausgewertet wird false, sie nicht aufrufen WriteLine(String). Das zweite Beispiel ruft immer auf WriteLineIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erstellt wird. Dies kann zu unnötiger Ausführung von willkürlich komplexem Code führen.
Erstes Beispiel:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
Schreibt eine Nachricht an die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung ist true.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung true ist, wird die Meldung in die Ablaufverfolgungslistener in der Auflistung geschrieben.
Die zu schreibende Meldung.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter übernehmen, bewertet diese Überladung nur alle interpolierten Zeichenfolgenformatierungselemente, wenn die Nachricht erforderlich ist.
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Diese Methode ruft die TraceListener.WriteLine Methode des Ablaufverfolgungslisteners auf.
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteLineIf(Boolean, Object)
Schreibt den Wert der ToString()-Methode des Objekts in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung true ist, wird der Wert in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- Attribute
Beispiele
Im folgenden Beispiel wird ein benannter TraceSwitch Name generalSwitcherstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf die TraceLevel Error oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung an die Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn der Wert auf "Festgelegt" festgelegt Verboseist, gibt das TraceLevel Beispiel den Namen des Objekts in derselben Zeile wie die erste Nachricht aus. Ein Zeilenterminator 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, "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
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Diese Methode ruft die WriteLine Methode des Ablaufverfolgungslisteners auf.
Hinweise für Vererber
Sie können die Leistungsstrafe der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie Anweisungen anstelle von Anweisungen verwenden WriteLineIf(Boolean, String) . In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError ausgewertet wird false, sie nicht aufrufen WriteLine(String). Das zweite Beispiel ruft immer auf WriteLineIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erstellt wird. Dies kann zu unnötiger Ausführung von willkürlich komplexem Code führen.
Erstes Beispiel:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteLineIf(Boolean, String)
Schreibt eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung true ist, wird die Meldung in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- message
- String
Die zu schreibende Meldung.
- Attribute
Beispiele
Im folgenden Beispiel wird ein benannter TraceSwitch generalSwitchName erstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf den TraceLevel Error oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung in die Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn dies TraceLevel auf Verbose"festgelegt" ist, gibt das Beispiel die zweite Fehlermeldung in derselben Zeile wie die erste Nachricht aus. Ein Zeilenterminator 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::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
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Diese Methode ruft die TraceListener.WriteLine Methode des Ablaufverfolgungslisteners auf.
Hinweise für Vererber
Sie können die Leistungsstrafe der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie Anweisungen anstelle von Anweisungen verwenden WriteLineIf(Boolean, String) . In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError ausgewertet wird false, sie nicht aufrufen WriteLine(String). Das zweite Beispiel ruft immer auf WriteLineIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erstellt wird. Dies kann zu unnötiger Ausführung von willkürlich komplexem Code führen.
Erstes Beispiel:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
Schreibt einen Kategorienamen und eine Nachricht in die Ablaufverfolgungslistener in der Listeners Auflistung, wenn eine angegebene Bedingung lautet true.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, werden der Nachrichten- und Kategoriename in die Ablaufverfolgungslistener in der Auflistung geschrieben.
Die zu schreibende Meldung.
- category
- String
Ein Kategoriename für die Anordnung der Ausgabe.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter übernehmen, ausgewertet diese Überladung nur alle interpolierten Zeichenfolgenformatierungselemente, wenn die Nachricht erforderlich ist.
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Der category Parameter kann zum Gruppieren von Ausgabenachrichten verwendet werden.
Diese Methode ruft die TraceListener.WriteLine Methode des Ablaufverfolgungslisteners auf.
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
WriteLineIf(Boolean, String, String)
Schreibt einen Kategorienamen und eine Meldung in die Ablaufverfolgungslistener in der Listeners-Auflistung, wenn eine Bedingung true ist.
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)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, werden die Nachrichten- und Cateogry-Namen in die Ablaufverfolgungslistener in der Auflistung geschrieben.
- message
- String
Die zu schreibende Meldung.
- category
- String
Ein Kategoriename für die Anordnung der Ausgabe.
- Attribute
Beispiele
Im folgenden Beispiel wird ein benannter TraceSwitch generalSwitchName erstellt. Dieser Schalter wird außerhalb des Codebeispiels festgelegt.
Wenn der Schalter auf den TraceLevel Error oder höher festgelegt ist, gibt das Beispiel die erste Fehlermeldung in die Listeners. Informationen zum Hinzufügen eines Listeners zur Listeners Auflistung finden Sie in der TraceListenerCollection Klasse.
Wenn das TraceLevel Beispiel auf "Set" festgelegt Verboseist, gibt das Beispiel die zweite Fehlermeldung und die category in derselben Zeile wie die erste Nachricht aus. Ein Zeilenterminator folgt der zweiten Nachricht.
// 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
Hinweise
Standardmäßig wird die Ausgabe in eine Instanz von DefaultTraceListener.
Der category Parameter kann zum Gruppieren von Ausgabenachrichten verwendet werden.
Diese Methode ruft die TraceListener.WriteLine Methode des Ablaufverfolgungslisteners auf.
Hinweise für Vererber
Sie können die Leistungsstrafe der Instrumentierung Ihrer Anwendung minimieren, indem If...Then Sie Anweisungen anstelle von Anweisungen verwenden WriteLineIf(Boolean, String) . In den folgenden beiden Codebeispielen wird dieselbe Debugnachricht gesendet. Das erste Beispiel ist jedoch viel schneller, wenn die Ablaufverfolgung deaktiviert ist, da mySwitch.TraceError ausgewertet wird false, sie nicht aufrufen WriteLine(String). Das zweite Beispiel ruft immer auf WriteLineIf(Boolean, String), auch wenn mySwitch.TraceError ist false und keine Ablaufverfolgungsausgabe erstellt wird. Dies kann zu unnötiger Ausführung von willkürlich komplexem Code führen.
Erstes Beispiel:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Zweites Beispiel:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Siehe auch
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute