Debug.WriteLineIf Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje informacje o debugowaniu do odbiorników śledzenia w kolekcji, Listeners jeśli warunek to true
.
Przeciążenia
WriteLineIf(Boolean, Object, String) |
Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Zapisuje komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli określony warunek to |
WriteLineIf(Boolean, Object) |
Zapisuje wartość metody obiektu ToString() do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to |
WriteLineIf(Boolean, String) |
Zapisuje komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli określony warunek to |
WriteLineIf(Boolean, String, String) |
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to |
WriteLineIf(Boolean, Object, String)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje nazwę kategorii i wartość metody obiektu ToString() do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to true
.
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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do obliczenia. Jeśli warunek to true
, nazwa kategorii i wartość są zapisywane w odbiornikach śledzenia w kolekcji.
- category
- String
Nazwa kategorii, używana do organizowania danych wyjściowych.
- Atrybuty
Przykłady
W poniższym przykładzie zostanie utworzona nazwana TraceSwitchgeneralSwitch
. Ten przełącznik jest ustawiany poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub wyższy, przykład zwraca pierwszy komunikat o błędzie do .Listeners Aby uzyskać informacje na temat dodawania odbiornika do Listeners kolekcji, zobacz klasę TraceListenerCollection .
Następnie, jeśli TraceLevel parametr ma wartość Verbose
, przykład zwraca drugi komunikat o błędzie w tym samym wierszu co pierwszy komunikat. Terminator wiersza jest zgodny z drugim komunikatem.
// 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
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Parametr category
może służyć do grupowania komunikatów wyjściowych.
Ta metoda wywołuje metodę WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować kary wydajności instrumentowania aplikacji przy użyciu If...Then
instrukcji zamiast instrukcji.WriteLineIf(Boolean, String) Poniższe dwa przykłady kodu wysyłają ten sam komunikat debugowania. Jednak pierwszy przykład jest znacznie szybszy, gdy śledzenie jest wyłączone, ponieważ jeśli mySwitch.TraceError
zostanie obliczona false
wartość , nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje metodę WriteLineIf(Boolean, String), nawet wtedy, gdy mySwitch.TraceError
nie są false
generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie dowolnie złożonego kodu.
Pierwszy przykład:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli określony warunek to 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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do obliczenia. Jeśli warunek to true
, komunikat jest zapisywany w odbiornikach śledzenia w kolekcji.
Wiadomość do zapisu.
- Atrybuty
Uwagi
To przeciążenie zostało wprowadzone na platformie .NET 6 w celu zwiększenia wydajności. W porównaniu z przeciążeniami, które przyjmują String
parametr, to przeciążenie oblicza tylko wszystkie elementy formatowania ciągów interpolowanych, jeśli komunikat jest wymagany.
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Ta metoda wywołuje metodę TraceListener.WriteLine odbiornika śledzenia.
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
WriteLineIf(Boolean, Object)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje wartość metody obiektu ToString() do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to true
.
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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do obliczenia. Jeśli warunek to true
, wartość jest zapisywana w odbiornikach śledzenia w kolekcji.
- Atrybuty
Przykłady
W poniższym przykładzie zostanie utworzona nazwana TraceSwitchgeneralSwitch
. Ten przełącznik jest ustawiany poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub wyższy, przykład zwraca pierwszy komunikat o błędzie do .Listeners Aby uzyskać informacje na temat dodawania odbiornika do Listeners kolekcji, zobacz klasę TraceListenerCollection .
Następnie, jeśli TraceLevel parametr ma wartość Verbose
, przykład zwraca nazwę obiektu w tym samym wierszu co pierwszy komunikat. Terminator wiersza jest zgodny z drugim komunikatem.
// 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
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Ta metoda wywołuje metodę WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować kary wydajności instrumentowania aplikacji przy użyciu If...Then
instrukcji zamiast instrukcji.WriteLineIf(Boolean, String) Poniższe dwa przykłady kodu wysyłają ten sam komunikat debugowania. Jednak pierwszy przykład jest znacznie szybszy, gdy śledzenie jest wyłączone, ponieważ jeśli mySwitch.TraceError
zostanie obliczona false
wartość , nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje metodę WriteLineIf(Boolean, String), nawet wtedy, gdy mySwitch.TraceError
nie są false
generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie dowolnie złożonego kodu.
Pierwszy przykład:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
WriteLineIf(Boolean, String)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli warunek to true
.
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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do obliczenia. Jeśli warunek to true
, komunikat jest zapisywany w odbiornikach śledzenia w kolekcji.
- message
- String
Wiadomość do zapisu.
- Atrybuty
Przykłady
W poniższym przykładzie zostanie utworzona nazwana TraceSwitchgeneralSwitch
. Ten przełącznik jest ustawiany poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub wyższy, przykład zwraca pierwszy komunikat o błędzie do .Listeners Aby uzyskać informacje o dodawaniu Listeners odbiornika do kolekcji, zobacz klasę TraceListenerCollection .
Następnie, jeśli TraceLevel parametr ma wartość Verbose
, przykład zwraca drugi komunikat o błędzie w tym samym wierszu co pierwszy komunikat. Terminator wiersza jest zgodny z drugim komunikatem.
// 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
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Ta metoda wywołuje metodę TraceListener.WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować kary wydajności instrumentowania aplikacji przy użyciu If...Then
instrukcji zamiast instrukcji.WriteLineIf(Boolean, String) Poniższe dwa przykłady kodu wysyłają ten sam komunikat debugowania. Jednak pierwszy przykład jest znacznie szybszy, gdy śledzenie jest wyłączone, ponieważ jeśli mySwitch.TraceError
zostanie obliczona false
wartość , nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje metodę WriteLineIf(Boolean, String), nawet wtedy, gdy mySwitch.TraceError
nie są false
generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie dowolnie złożonego kodu.
Pierwszy przykład:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w Listeners kolekcji, jeśli określony warunek to 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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do obliczenia. Jeśli warunek to true
, komunikat i nazwa kategorii są zapisywane w odbiornikach śledzenia w kolekcji.
Wiadomość do zapisu.
- category
- String
Nazwa kategorii, używana do organizowania danych wyjściowych.
- Atrybuty
Uwagi
To przeciążenie zostało wprowadzone na platformie .NET 6 w celu zwiększenia wydajności. W porównaniu z przeciążeniami, które przyjmują String
parametr, to przeciążenie oblicza tylko wszystkie elementy formatowania ciągów interpolowanych, jeśli komunikat jest wymagany.
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Parametr category
może służyć do grupowania komunikatów wyjściowych.
Ta metoda wywołuje metodę TraceListener.WriteLine odbiornika śledzenia.
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
WriteLineIf(Boolean, String, String)
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
- Źródło:
- Debug.cs
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w kolekcji, Listeners jeśli warunek to true
.
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)
Parametry
- condition
- Boolean
Wyrażenie warunkowe do oceny. Jeśli warunek to true
, komunikat i nazwa cateogry są zapisywane w odbiornikach śledzenia w kolekcji.
- message
- String
Wiadomość do zapisu.
- category
- String
Nazwa kategorii, używana do organizowania danych wyjściowych.
- Atrybuty
Przykłady
W poniższym przykładzie zostanie utworzona nazwana TraceSwitchgeneralSwitch
. Ten przełącznik jest ustawiony poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub wyższy, przykład zwraca pierwszy komunikat o błędzie do .Listeners Aby uzyskać informacje na temat dodawania odbiornika do Listeners kolekcji, zobacz klasę TraceListenerCollection .
Następnie, jeśli TraceLevel parametr ma wartość Verbose
, przykład generuje drugi komunikat o błędzie i w category
tym samym wierszu co pierwszy komunikat. Terminator wiersza jest zgodny z drugim komunikatem.
// 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
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu klasy DefaultTraceListener.
Parametr category
może służyć do grupowania komunikatów wyjściowych.
Ta metoda wywołuje metodę TraceListener.WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować kary wydajności instrumentowania aplikacji przy użyciu If...Then
instrukcji zamiast instrukcji.WriteLineIf(Boolean, String) Poniższe dwa przykłady kodu wysyłają ten sam komunikat debugowania. Jednak pierwszy przykład jest znacznie szybszy, gdy śledzenie jest wyłączone, ponieważ jeśli mySwitch.TraceError
zostanie obliczona false
wartość , nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje metodę WriteLineIf(Boolean, String), nawet wtedy, gdy mySwitch.TraceError
nie są false
generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie dowolnie złożonego kodu.
Pierwszy przykład:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla