Debug.WriteIf Methode

Definitie

Schrijft informatie over de foutopsporing naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

Overloads

Name Description
WriteIf(Boolean, Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, String)

Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, Object, String)

Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, String, String)

Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

WriteIf(Boolean, Object)

Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

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

Parameters

condition
Boolean

De voorwaardelijke expressie die moet worden geëvalueerd. Als de voorwaarde is true, wordt de waarde naar de traceringslisteners in de verzameling geschreven.

value
Object

Een object waarvan de naam naar de Listeners.

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een TraceSwitch benoemde naam gemaakt generalSwitch. Deze schakeloptie is buiten het codevoorbeeld ingesteld.

Als de schakeloptie is ingesteld op het TraceLevelError of hoger, voert het voorbeeld de voornaam van de waardeparameter uit op de Listeners. Zie de klasse voor informatie over het toevoegen van een listener aan de ListenersTraceListenerCollection verzameling.

Als de TraceLevel waarde is ingesteld Verbose, wordt in het voorbeeld een bericht op dezelfde regel uitgevoerd als het eerste bericht. Een regeleindteken volgt het tweede bericht.

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

Opmerkingen

Standaard wordt de uitvoer naar een exemplaar van DefaultTraceListener.

Met deze methode wordt de Write methode van de traceerlistener aangeroepen.

Notities voor overnemers

U kunt de prestatiestraf voor het instrumenteren van uw toepassing minimaliseren met behulp van If...Then instructies in plaats van instructies WriteIf(Boolean, String) . Met de volgende twee codevoorbeelden wordt hetzelfde foutopsporingsbericht verzonden. Het eerste voorbeeld is echter veel sneller wanneer tracering is uitgeschakeld, omdat als mySwitch.TraceError dit wordt geëvalueerd false, u geen aanroept Write(String). In het tweede voorbeeld wordt altijd een aanroep gemaakt WriteIf(Boolean, String), zelfs wanneer mySwitch.TraceError en false er geen traceringsuitvoer wordt geproduceerd. Dit kan leiden tot onnodige uitvoering van willekeurige complexe code.

Eerste voorbeeld:

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

Tweede voorbeeld:

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

Zie ook

Van toepassing op

WriteIf(Boolean, String)

Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

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

Parameters

condition
Boolean

De voorwaardelijke expressie die moet worden geëvalueerd. Als de voorwaarde is true, wordt het bericht naar de traceringslisteners in de verzameling geschreven.

message
String

Een bericht dat moet worden geschreven.

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een TraceSwitch benoemde naam gemaakt generalSwitch. Deze schakeloptie is buiten het codevoorbeeld ingesteld.

Als de schakeloptie is ingesteld op het TraceLevelError of hoger, wordt in het voorbeeld het eerste foutbericht weergegeven op de Listeners. Zie de klasse voor informatie over het toevoegen van een listener aan de ListenersTraceListenerCollection verzameling.

Als de TraceLevel waarde is ingesteld Verbose, wordt in het voorbeeld het tweede foutbericht op dezelfde regel uitgevoerd als het eerste bericht. Een regeleindteken volgt het tweede bericht.

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

Opmerkingen

Standaard wordt de uitvoer naar een exemplaar van DefaultTraceListener.

Met deze methode wordt de Write methode van de traceerlistener aangeroepen.

Notities voor overnemers

U kunt de prestatiestraf voor het instrumenteren van uw toepassing minimaliseren met behulp van If...Then instructies in plaats van instructies WriteIf(Boolean, String) . Met de volgende twee codevoorbeelden wordt hetzelfde foutopsporingsbericht verzonden. Het eerste voorbeeld is echter veel sneller wanneer tracering is uitgeschakeld, omdat als mySwitch.TraceError dit wordt geëvalueerd false, u geen aanroept Write(String). In het tweede voorbeeld wordt altijd een aanroep gemaakt WriteIf(Boolean, String), zelfs wanneer mySwitch.TraceError en false er geen traceringsuitvoer wordt geproduceerd. Dit kan leiden tot onnodige uitvoering van willekeurige complexe code.

Eerste voorbeeld:

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

Tweede voorbeeld:

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

Zie ook

Van toepassing op

WriteIf(Boolean, Object, String)

Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is true.

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

Parameters

condition
Boolean

De voorwaardelijke expressie die moet worden geëvalueerd. Als de voorwaarde is true, worden de categorienaam en -waarde naar de traceringslisteners in de verzameling geschreven.

value
Object

Een object waarvan de naam naar de Listeners.

category
String

Een categorienaam die wordt gebruikt om de uitvoer te ordenen.

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een TraceSwitch benoemde naam gemaakt generalSwitch. Deze schakeloptie is buiten het codevoorbeeld ingesteld.

Als de schakeloptie is ingesteld op de TraceLevelVerbose, voert het voorbeeld de naam van de myObject en de category naar de Listeners. Zie de klasse voor informatie over het toevoegen van een listener aan de ListenersTraceListenerCollection verzameling.

Als de TraceLevel waarde vervolgens is ingesteld op Error of hoger, wordt in het voorbeeld het tweede foutbericht op dezelfde regel uitgevoerd als het eerste bericht. Een regeleindteken volgt het tweede bericht.

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

Opmerkingen

Standaard wordt de uitvoer naar een exemplaar van DefaultTraceListener.

De category parameter kan worden gebruikt om uitvoerberichten te groeperen.

Met deze methode wordt de Write methode van de traceerlistener aangeroepen.

Notities voor overnemers

U kunt de prestatiestraf voor het instrumenteren van uw toepassing minimaliseren met behulp van If...Then instructies in plaats van instructies WriteIf(Boolean, String) . Met de volgende twee codevoorbeelden wordt hetzelfde foutopsporingsbericht verzonden. Het eerste voorbeeld is echter veel sneller wanneer tracering is uitgeschakeld, omdat als mySwitch.TraceError dit wordt geëvalueerd false, u geen aanroept Write(String). In het tweede voorbeeld wordt altijd een aanroep gemaakt WriteIf(Boolean, String), zelfs wanneer mySwitch.TraceError en false er geen traceringsuitvoer wordt geproduceerd. Dit kan leiden tot onnodige uitvoering van willekeurige complexe code.

Eerste voorbeeld:

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

Tweede voorbeeld:

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

Zie ook

Van toepassing op

WriteIf(Boolean, String, String)

Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is true.

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

Parameters

condition
Boolean

De voorwaardelijke expressie die moet worden geëvalueerd. Als de voorwaarde is true, worden de categorienaam en het bericht naar de traceringslisteners in de verzameling geschreven.

message
String

Een bericht dat moet worden geschreven.

category
String

Een categorienaam die wordt gebruikt om de uitvoer te ordenen.

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een TraceSwitch benoemde naam gemaakt generalSwitch. Deze schakeloptie is buiten het codevoorbeeld ingesteld.

Als de schakeloptie is ingesteld op de TraceLevelVerbose, wordt in het voorbeeld het eerste foutbericht weergegeven op de Listeners. Zie de klasse voor informatie over het toevoegen van een listener aan de ListenersTraceListenerCollection verzameling.

Als de TraceLevel waarde vervolgens is ingesteld op Error of hoger, wordt in het voorbeeld het tweede foutbericht op dezelfde regel uitgevoerd als het eerste bericht. Een regeleindteken volgt het tweede bericht.

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

Opmerkingen

Standaard wordt de uitvoer naar een exemplaar van DefaultTraceListener.

De category parameter kan worden gebruikt om uitvoerberichten te groeperen.

Met deze methode wordt de TraceListener.Write methode van de traceerlistener aangeroepen.

Notities voor overnemers

U kunt de prestatiestraf voor het instrumenteren van uw toepassing minimaliseren met behulp van If...Then instructies in plaats van instructies WriteIf(Boolean, String) . Met de volgende twee codevoorbeelden wordt hetzelfde foutopsporingsbericht verzonden. Het eerste voorbeeld is echter veel sneller wanneer tracering is uitgeschakeld, omdat als mySwitch.TraceError dit wordt geëvalueerd false, u geen aanroept Write(String). In het tweede voorbeeld wordt altijd een aanroep gemaakt WriteIf(Boolean, String), zelfs wanneer mySwitch.TraceError en false er geen traceringsuitvoer wordt geproduceerd. Dit kan leiden tot onnodige uitvoering van willekeurige complexe code.

Eerste voorbeeld:

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

Tweede voorbeeld:

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

Zie ook

Van toepassing op