Trace.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 śledzeniu do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest true
.
Przeciążenia
WriteLineIf(Boolean, Object, String) |
Zapisuje nazwę kategorii i wartość metody ToString() obiektu do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest |
WriteLineIf(Boolean, Object) |
Zapisuje wartość metody ToString() obiektu do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest |
WriteLineIf(Boolean, String) |
Zapisuje komunikat do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest |
WriteLineIf(Boolean, String, String) |
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest |
WriteLineIf(Boolean, Object, String)
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
Zapisuje nazwę kategorii i wartość metody ToString() obiektu do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest true
.
public:
static void WriteLineIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object? value, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object value, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * obj * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object, category As String)
Parametry
- condition
- Boolean
true
spowodować zapisanie wiadomości; w przeciwnym razie false
.
- category
- String
Nazwa kategorii używana do organizowania danych wyjściowych.
- Atrybuty
Przykłady
Poniższy przykład tworzy TraceSwitch o nazwie generalSwitch
. Ten przełącznik jest ustawiony poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub nowszy, przykład zwraca pierwszy komunikat o błędzie do Listeners. Aby uzyskać informacje na temat dodawania odbiornika do kolekcji Listeners, zobacz klasę TraceListenerCollection.
Następnie, jeśli TraceLevel jest ustawiona na Verbose
, przykład zwraca drugi komunikat o błędzie w tym samym wierszu co pierwszy komunikat. Po drugim komunikacie następuje terminator wiersza.
// 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 Error or higher.
Trace::WriteIf( generalSwitch->TraceError,
"Invalid object for category. " );
// Write a second message if the TraceSwitch level is set
// to Verbose.
Trace::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.
Trace.WriteIf(generalSwitch.TraceError, "Invalid object for category. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Trace.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.
Trace.WriteIf(generalSwitch.TraceError, "Invalid object for category. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Trace.WriteLineIf(generalSwitch.TraceVerbose, myObject, category)
End Sub
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu 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ć karę wydajności instrumentowania aplikacji przy użyciu instrukcji If...Then
zamiast instrukcji WriteLineIf(Boolean, String). Następujące 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
daje false
nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje WriteLineIf(Boolean, String), nawet jeśli mySwitch.TraceError
jest false
i nie są generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie arbitralnie złożonego kodu.
Pierwszy przykład
if(mySwitch.TraceError)
Trace.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład
Trace.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
Dotyczy
WriteLineIf(Boolean, Object)
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
Zapisuje wartość metody ToString() obiektu do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest true
.
public:
static void WriteLineIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object? value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, object value);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * obj -> unit
Public Shared Sub WriteLineIf (condition As Boolean, value As Object)
Parametry
- condition
- Boolean
true
spowodować zapisanie wiadomości; w przeciwnym razie false
.
- Atrybuty
Przykłady
Poniższy przykład tworzy TraceSwitch o nazwie generalSwitch
. Ten przełącznik jest ustawiony poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub nowszy, przykład zwraca pierwszy komunikat o błędzie do Listeners. Aby uzyskać informacje na temat dodawania odbiornika do kolekcji Listeners, zobacz klasę TraceListenerCollection.
Następnie, jeśli TraceLevel jest ustawiona na Verbose
, przykład zwraca nazwę obiektu w tym samym wierszu co pierwszy komunikat. Po drugim komunikacie następuje terminator wiersza.
// 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, "Invalid object. " );
// Write a second message if the TraceSwitch level is set
// to Verbose.
Trace::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.
Trace.WriteIf(generalSwitch.TraceError, "Invalid object. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Trace.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.
Trace.WriteIf(generalSwitch.TraceError, "Invalid object. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Trace.WriteLineIf(generalSwitch.TraceVerbose, myObject)
End Sub
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu DefaultTraceListener.
Ta metoda wywołuje metodę WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować karę wydajności instrumentowania aplikacji przy użyciu instrukcji If...Then
zamiast instrukcji WriteLineIf(Boolean, String). Następujące 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
daje false
nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje WriteLineIf(Boolean, String), nawet jeśli mySwitch.TraceError
jest false
i nie są generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie arbitralnie złożonego kodu.
Pierwszy przykład
if(mySwitch.TraceError)
Trace.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład
Trace.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
Dotyczy
WriteLineIf(Boolean, String)
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
Zapisuje komunikat do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest true
.
public:
static void WriteLineIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string? message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string message);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String)
Parametry
- condition
- Boolean
true
spowodować zapisanie wiadomości; w przeciwnym razie false
.
- message
- String
Wiadomość do zapisu.
- Atrybuty
Przykłady
Poniższy przykład tworzy TraceSwitch o nazwie generalSwitch
. Ten przełącznik jest ustawiony poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub nowszy, przykład zwraca pierwszy komunikat o błędzie do Listeners. Aby uzyskać informacje na temat dodawania odbiornika do kolekcji Listeners, zobacz klasę TraceListenerCollection.
Następnie, jeśli TraceLevel jest ustawiona na Verbose
, przykład zwraca drugi komunikat o błędzie w tym samym wierszu co pierwszy komunikat. Po drugim komunikacie następuje terminator wiersza.
// 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
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu DefaultTraceListener.
Ta metoda wywołuje metodę WriteLine odbiornika śledzenia.
Uwagi dotyczące dziedziczenia
Można zminimalizować karę wydajności instrumentowania aplikacji przy użyciu instrukcji If...Then
zamiast instrukcji WriteLineIf(Boolean, String). Następujące 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
daje false
nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje WriteLineIf(Boolean, String), nawet jeśli mySwitch.TraceError
jest false
i nie są generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie arbitralnie złożonego kodu.
Pierwszy przykład
if(mySwitch.TraceError)
Trace.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład
Trace.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Zobacz też
Dotyczy
WriteLineIf(Boolean, String, String)
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
- Źródło:
- Trace.cs
Zapisuje nazwę kategorii i komunikat do odbiorników śledzenia w kolekcji Listeners, jeśli warunek jest true
.
public:
static void WriteLineIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string? message, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteLineIf (bool condition, string message, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteLineIf : bool * string * string -> unit
Public Shared Sub WriteLineIf (condition As Boolean, message As String, category As String)
Parametry
- condition
- Boolean
true
spowodować zapisanie wiadomości; w przeciwnym razie false
.
- message
- String
Wiadomość do zapisu.
- category
- String
Nazwa kategorii używana do organizowania danych wyjściowych.
- Atrybuty
Przykłady
Poniższy przykład tworzy TraceSwitch o nazwie generalSwitch
. Ten przełącznik jest ustawiony poza przykładem kodu.
Jeśli przełącznik jest ustawiony na TraceLevelError
lub nowszy, przykład zwraca pierwszy komunikat o błędzie do Listeners. Aby uzyskać informacje na temat dodawania odbiornika do kolekcji Listeners, zobacz klasę TraceListenerCollection.
Następnie, jeśli TraceLevel jest ustawiona na Verbose
, przykład zwraca drugi komunikat o błędzie i category
w tym samym wierszu co pierwszy komunikat. Po drugim komunikacie następuje terminator wiersza.
// Class-level declaration.
// Create a TraceSwitch.
private:
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General", "Entire Application" );
public:
static void MyErrorMethod( String^ category )
{
#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.", 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.
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.", 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.
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.", category)
End Sub
Uwagi
Domyślnie dane wyjściowe są zapisywane w wystąpieniu 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ć karę wydajności instrumentowania aplikacji przy użyciu instrukcji If...Then
zamiast instrukcji WriteLineIf(Boolean, String). Następujące 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
daje false
nie wywołasz metody WriteLine(String). Drugi przykład zawsze wywołuje WriteLineIf(Boolean, String), nawet jeśli mySwitch.TraceError
jest false
i nie są generowane żadne dane wyjściowe śledzenia. Może to spowodować niepotrzebne wykonanie arbitralnie złożonego kodu.
Pierwszy przykład
if(mySwitch.TraceError)
Trace.WriteLine("aNumber = " + aNumber + " out of range");
Drugi przykład
Trace.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");