Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Debug.WriteIf méthode (Boolean, Object, String)

 

Date de publication : novembre 2016

Écrit un nom de catégorie et la valeur de la méthode ToString de l’objet dans les écouteurs de suivi de la collection Listeners, si une condition a la valeur true.

Espace de noms:   System.Diagnostics
Assembly:  System (dans System.dll)

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

Paramètres

condition
Type: System.Boolean

Expression conditionnelle à évaluer. Si la condition est true, le nom de la catégorie et la valeur sont écrits dans les écouteurs de la trace dans la collection.

value
Type: System.Object

Objet dont le nom est transmis à la Listeners.

category
Type: System.String

Nom de catégorie utilisé pour organiser la sortie.

Par défaut, la sortie est écrite dans une instance de DefaultTraceListener.

Le category paramètre peut être utilisé pour regrouper les messages de sortie.

Cette méthode appelle la Write méthode de l’écouteur de trace.

Remarques à l’attention des implémenteurs :

Vous pouvez réduire la dégradation des performances de l’instrumentation de votre application à l’aide de If...Then au lieu d’utiliser les instructions WriteIf instructions. Les exemples de deux code suivants envoyer le même message de débogage. Toutefois, le premier exemple est beaucoup plus rapide lorsque le traçage est désactivé, car si mySwitch.TraceError prend la valeur false, vous n’appelez pas Write. Le deuxième exemple appelle toujours WriteIf, même si mySwitch.TraceError est false et aucune sortie de traçage n’est généré. Cela peut entraîner l’exécution inutile d’un code arbitrairement complexe.

Premier exemple :

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

Deuxième exemple :

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

L’exemple suivant crée un TraceSwitch nommé generalSwitch. Ce commutateur est défini en dehors de l’exemple de code.

Si le commutateur est défini sur le TraceLevelVerbose, l’exemple renvoie le nom de la myObject et category à la Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la Listeners collection, consultez la TraceListenerCollection classe.

Ensuite, si le TraceLevel a la valeur Error ou une version ultérieure, l’exemple renvoie le deuxième message d’erreur sur la même ligne que le premier message. Un terminateur de ligne suit le deuxième message.

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

Plateforme Windows universelle
Disponible depuis 10
.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: