Trace.WriteIf Metod

Definition

Skriver information om spårningen till spårningslyssnare Listeners i samlingen om ett villkor är true.

Överlagringar

Name Description
WriteIf(Boolean, String, String)

Skriver ett kategorinamn och ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är true.

WriteIf(Boolean, Object, String)

Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är true.

WriteIf(Boolean, Object)

Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är true.

WriteIf(Boolean, String)

Skriver ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är true.

WriteIf(Boolean, String, String)

Skriver ett kategorinamn och ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är true.

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")>]
static member WriteIf : bool * string * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String, category As String)

Parametrar

condition
Boolean

trueför att göra så att ett meddelande skrivs. annars . false

message
String

Ett meddelande att skriva.

category
String

Ett kategorinamn som används för att organisera utdata.

Attribut

Exempel

I följande exempel skapas ett TraceSwitch med namnet generalSwitch. Den här växeln anges utanför kodexemplet.

Om växeln är inställd på TraceLevelVerbosematar exemplet ut det första felmeddelandet till Listeners. Information om hur du lägger till en lyssnare i Listeners samlingen finns i TraceListenerCollection klassen .

Om TraceLevel är inställt på Error eller högre returnerar exemplet sedan det andra felmeddelandet på samma rad som det första meddelandet. Det andra meddelandet följs av en radavslutare.

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

Kommentarer

Som standard skrivs utdata till en instans av DefaultTraceListener.

Parametern category kan användas för att gruppera utdatameddelanden.

Den här metoden anropar Write spårningslyssnarens metod.

Anteckningar till arvingar

Du kan minimera prestandastraffet för instrumentering av ditt program med hjälp If...Then av instruktioner i stället för att använda WriteIf(Boolean, String) instruktioner. Följande två kodexempel skickar samma felsökningsmeddelande. Det första exemplet är dock mycket snabbare när spårningen är av, för om mySwitch.TraceError utvärderas till false anropar Write(String)du inte . Det andra exemplet anropar WriteIf(Boolean, String)alltid , även när mySwitch.TraceError är false och inga spårningsutdata skapas. Detta kan leda till onödig körning av godtyckligt komplex kod.

Första exemplet

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

Andra exemplet

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

Se även

Gäller för

WriteIf(Boolean, Object, String)

Skriver ett kategorinamn och värdet för objektets metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är true.

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")>]
static member WriteIf : bool * obj * string -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object, category As String)

Parametrar

condition
Boolean

trueför att göra så att ett meddelande skrivs. annars . false

value
Object

En Object vars namn skickas till Listeners.

category
String

Ett kategorinamn som används för att organisera utdata.

Attribut

Exempel

I följande exempel skapas ett TraceSwitch med namnet generalSwitch. Den här växeln anges utanför kodexemplet.

Om växeln är inställd på TraceLevelVerbosematar exemplet ut namnet på myObject och category till Listeners. Information om hur du lägger till en lyssnare i Listeners samlingen finns i TraceListenerCollection klassen .

Om TraceLevel är inställt på Error eller högre returnerar exemplet sedan det andra felmeddelandet på samma rad som det första meddelandet. Det andra meddelandet följs av en radavslutare.

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

Kommentarer

Som standard skrivs utdata till en instans av DefaultTraceListener.

Parametern category kan användas för att gruppera utdatameddelanden.

Den här metoden anropar Write spårningslyssnarens metod.

Anteckningar till arvingar

Du kan minimera prestandastraffet för instrumentering av ditt program med hjälp If...Then av instruktioner i stället för att använda WriteIf(Boolean, String) instruktioner. Följande två kodexempel skickar samma felsökningsmeddelande. Det första exemplet är dock mycket snabbare när spårningen är av, för om mySwitch.TraceError utvärderas till false anropar Write(String)du inte . Det andra exemplet anropar WriteIf(Boolean, String)alltid , även när mySwitch.TraceError är false och inga spårningsutdata skapas. Detta kan leda till onödig körning av godtyckligt komplex kod.

Första exemplet

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

Andra exemplet

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

Se även

Gäller för

WriteIf(Boolean, Object)

Skriver värdet för objektets -metod till spårningslyssnare ToString() i Listeners samlingen om ett villkor är true.

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")>]
static member WriteIf : bool * obj -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object)

Parametrar

condition
Boolean

trueför att göra så att ett meddelande skrivs. annars . false

value
Object

En Object vars namn skickas till Listeners.

Attribut

Exempel

I följande exempel skapas ett TraceSwitch med namnet generalSwitch. Den här växeln anges utanför kodexemplet.

Om växeln är inställd på TraceLevelError eller högre matar exemplet ut förnamnet på värdeparametern till Listeners. Information om hur du lägger till en lyssnare i Listeners samlingen finns i TraceListenerCollection klassen .

Om TraceLevel är inställt på Verbosereturnerar exemplet sedan ett meddelande på samma rad som det första meddelandet. Det andra meddelandet följs av en radavslutare.

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

Kommentarer

Som standard skrivs utdata till en instans av DefaultTraceListener.

Den här metoden anropar Write spårningslyssnarens metod.

Anteckningar till arvingar

Du kan minimera prestandastraffet för instrumentering av ditt program med hjälp If...Then av instruktioner i stället för att använda WriteIf(Boolean, String) instruktioner. Följande två kodexempel skickar samma felsökningsmeddelande. Det första exemplet är dock mycket snabbare när spårningen är av, för om mySwitch.TraceError utvärderas till false anropar Write(String)du inte . Det andra exemplet anropar WriteIf(Boolean, String)alltid , även när mySwitch.TraceError är false och inga spårningsutdata skapas. Detta kan leda till onödig körning av godtyckligt komplex kod.

Första exemplet

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

Andra exemplet

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

Se även

Gäller för

WriteIf(Boolean, String)

Skriver ett meddelande till spårningslyssnare Listeners i samlingen om ett villkor är true.

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")>]
static member WriteIf : bool * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String)

Parametrar

condition
Boolean

trueför att göra så att ett meddelande skrivs. annars . false

message
String

Ett meddelande att skriva.

Attribut

Exempel

I följande exempel skapas ett TraceSwitch med namnet generalSwitch. Den här växeln anges utanför kodexemplet.

Om växeln är inställd på TraceLevelError eller högre utdata exemplet det första felmeddelandet till Listeners. Information om hur du lägger till en lyssnare i Listeners samlingen finns i TraceListenerCollection klassen .

Om TraceLevel är inställt på Verbosereturnerar exemplet sedan det andra felmeddelandet på samma rad som det första meddelandet. Det andra meddelandet följs av en radavslutare.

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

Kommentarer

Som standard skrivs utdata till en instans av DefaultTraceListener.

Den här metoden anropar Write spårningslyssnarens metod.

Anteckningar till arvingar

Du kan minimera prestandastraffet för instrumentering av ditt program med hjälp If...Then av instruktioner i stället för att använda WriteIf(Boolean, String) instruktioner. Följande två kodexempel skickar samma felsökningsmeddelande. Det första exemplet är dock mycket snabbare när spårningen är av, för om mySwitch.TraceError utvärderas till false anropar Write(String)du inte . Det andra exemplet anropar WriteIf(Boolean, String)alltid , även när mySwitch.TraceError är false och inga spårningsutdata skapas. Detta kan leda till onödig körning av godtyckligt komplex kod.

Första exemplet

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

Andra exemplet

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

Se även

Gäller för