Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Debug.WriteIf (Boolean, Object, String)

 

Data di pubblicazione: ottobre 2016

Scrive un nome di categoria e il valore dell'oggetto ToString metodo di traccia nei listener di Listeners insieme se una condizione è true.

Spazio dei nomi:   System.Diagnostics
Assembly:  System (in System.dll)

[ConditionalAttribute("DEBUG")]
public static void WriteIf(
	bool condition,
	object value,
	string category
)

Parametri

condition
Type: System.Boolean

Espressione condizionale da valutare. Se la condizione è true, il nome della categoria e il valore vengono scritti i listener di traccia nella raccolta.

value
Type: System.Object

Oggetto il cui nome viene inviato per la Listeners.

category
Type: System.String

Nome di categoria usato per organizzare l'output.

Per impostazione predefinita, l'output viene scritto in un'istanza di DefaultTraceListener.

Il category parametro può essere utilizzato per raggruppare i messaggi di output.

Questo metodo chiama il Write metodo del listener di traccia.

Note per gli implementatori:

È possibile ridurre i problemi di prestazioni tramite la strumentazione dell'applicazione If...Then istruzioni anziché WriteIf istruzioni. I seguenti due esempi di codice inviare lo stesso messaggio di debug. Tuttavia, il primo esempio è molto più veloce quando la traccia è disattivata, perché se mySwitch.TraceError restituisce false, non è necessario chiamare Write. Il secondo esempio viene sempre chiamato WriteIf, anche quando mySwitch.TraceError è false e viene generato alcun output di traccia. Ciò può comportare inutile esecuzione di codice arbitrariamente complesso.

Primo esempio:

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

Secondo esempio:

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

Nell'esempio seguente viene creato un TraceSwitch denominato generalSwitch. Questa opzione è impostata all'esterno di esempio di codice.

Se l'opzione è impostata sul TraceLevelVerbose, nell'esempio viene restituito il nome del myObject e category per il Listeners. Per informazioni sull'aggiunta di un listener per il Listeners raccolta, vedere la TraceListenerCollection classe.

Quindi, se il TraceLevel è impostato su Error o versioni successive, viene generato il secondo messaggio di errore sulla stessa riga del primo messaggio. Un terminatore di riga segue il secondo messaggio.

// 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.");
 }

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: