Partager via


Debug.WriteIf Méthode

Définition

Écrit des informations sur le débogage dans les écouteurs de trace dans la collection Listeners si une condition est true.

Surcharges

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Si condition est true, écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners.

WriteIf(Boolean, Object)

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de trace dans la collection Listeners si une condition est true.

WriteIf(Boolean, String)

Écrit un message dans les écouteurs de trace dans la collection Listeners si une condition est true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners si une condition spécifiée est true.

WriteIf(Boolean, Object, String)

Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de trace de la collection Listeners si une condition est true.

WriteIf(Boolean, String, String)

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners si une condition est true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Si condition est true, écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners.

public:
 static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler)

Paramètres

condition
Boolean

Expression conditionnelle à évaluer. Si la condition est true, la valeur est écrite dans les écouteurs de trace de la collection.

message
Debug.WriteIfInterpolatedStringHandler

Message à écrire si condition est true.

Attributs

Remarques

Cette surcharge a été introduite dans .NET 6 pour améliorer les performances. Par rapport aux surcharges qui prennent un paramètre String, cette surcharge évalue uniquement les éléments de mise en forme de chaîne interpolés si le message est requis.

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

Utilisez le paramètre category pour regrouper les messages de sortie.

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

Voir aussi

S’applique à

WriteIf(Boolean, Object)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Écrit la valeur de la méthode ToString() de l’objet dans les écouteurs de trace dans la collection Listeners si une condition est 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")]
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)

Paramètres

condition
Boolean

Expression conditionnelle à évaluer. Si la condition est true, la valeur est écrite dans les écouteurs de trace de la collection.

value
Object

Objet dont le nom est envoyé au Listeners.

Attributs

Exemples

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 la TraceLevelError ou une version ultérieure, l’exemple génère le prénom du paramètre de valeur dans le Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la collection Listeners, consultez la classe TraceListenerCollection.

Ensuite, si le TraceLevel est défini sur Verbose, l’exemple génère un message 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 = 
      gcnew TraceSwitch( "General","Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject )
   {
      // Write the message if the TraceSwitch level is set to Error or higher.
      #if defined(DEBUG)
      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." );
      #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.
    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

Remarques

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

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

Notes pour les héritiers

Vous pouvez réduire la pénalité de performances d’instrumenter votre application à l’aide d’instructions If...Then au lieu d’utiliser des instructions WriteIf(Boolean, String). Les deux exemples de code suivants envoient le même message de débogage. Toutefois, le premier exemple est beaucoup plus rapide lorsque le suivi est désactivé, car si mySwitch.TraceError prend la valeur false, vous n’appelez pas Write(String). Le deuxième exemple appelle toujours WriteIf(Boolean, String), même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est générée. Cela peut entraîner une exécution inutile de 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");

Voir aussi

S’applique à

WriteIf(Boolean, String)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Écrit un message dans les écouteurs de trace dans la collection Listeners si une condition est 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")]
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)

Paramètres

condition
Boolean

Expression conditionnelle à évaluer. Si la condition est true, le message est écrit dans les écouteurs de trace dans la collection.

message
String

Message à écrire.

Attributs

Exemples

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 la TraceLevelError ou une version ultérieure, l’exemple génère le premier message d’erreur vers le Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la collection Listeners, consultez la classe TraceListenerCollection.

Ensuite, si le TraceLevel est défini sur Verbose, l’exemple génère 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 = 
      gcnew TraceSwitch( "General","Entire Application" );

public:
   static void MyErrorMethod()
   {
      // Write the message if the TraceSwitch level is set to Error or higher.
      #if defined(DEBUG)
      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." );
      #endif
   }
// 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

Remarques

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

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

Notes pour les héritiers

Vous pouvez réduire la pénalité de performances d’instrumenter votre application à l’aide d’instructions If...Then au lieu d’utiliser des instructions WriteIf(Boolean, String). Les deux exemples de code suivants envoient le même message de débogage. Toutefois, le premier exemple est beaucoup plus rapide lorsque le suivi est désactivé, car si mySwitch.TraceError prend la valeur false, vous n’appelez pas Write(String). Le deuxième exemple appelle toujours WriteIf(Boolean, String), même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est générée. Cela peut entraîner une exécution inutile de 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");

Voir aussi

S’applique à

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners si une condition spécifiée est true.

public:
 static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler, category As String)

Paramètres

condition
Boolean

Expression conditionnelle à évaluer. Si la condition est true, le message est écrit dans les écouteurs de trace dans la collection.

message
Debug.WriteIfInterpolatedStringHandler

Message à écrire.

category
String

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

Attributs

Remarques

Cette surcharge a été introduite dans .NET 6 pour améliorer les performances. Par rapport aux surcharges qui prennent un paramètre String, cette surcharge évalue uniquement les éléments de mise en forme de chaîne interpolés si le message est requis.

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

Utilisez le paramètre category pour regrouper les messages de sortie.

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

Voir aussi

S’applique à

WriteIf(Boolean, Object, String)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Écrit un nom de catégorie et la valeur de la méthode ToString() de l’objet dans les écouteurs de trace de la collection Listeners si une condition est 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")]
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)

Paramètres

condition
Boolean

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

value
Object

Objet dont le nom est envoyé au Listeners.

category
String

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

Attributs

Exemples

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 l'TraceLevelVerbose, l’exemple génère le nom du myObject et le category au Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la collection Listeners, consultez la classe TraceListenerCollection.

Ensuite, si le TraceLevel est défini sur Error ou supérieur, l’exemple génère 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 = 
      gcnew TraceSwitch( "General","Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject, String^ category )
   {
      // Write the message if the TraceSwitch level is set to Error or higher.
      #if defined(DEBUG)
      Debug::WriteIf( generalSwitch->TraceVerbose, myObject, category );
      
      // Write a second message if the TraceSwitch level is set to Verbose.
      Debug::WriteLineIf( generalSwitch->TraceError, 
         " Object is not valid for this 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 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

Remarques

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

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

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

Notes pour les héritiers

Vous pouvez réduire la pénalité de performances d’instrumenter votre application à l’aide d’instructions If...Then au lieu d’utiliser des instructions WriteIf(Boolean, String). Les deux exemples de code suivants envoient le même message de débogage. Toutefois, le premier exemple est beaucoup plus rapide lorsque le suivi est désactivé, car si mySwitch.TraceError prend la valeur false, vous n’appelez pas Write(String). Le deuxième exemple appelle toujours WriteIf(Boolean, String), même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est générée. Cela peut entraîner une exécution inutile de 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");

Voir aussi

S’applique à

WriteIf(Boolean, String, String)

Source:
Debug.cs
Source:
Debug.cs
Source:
Debug.cs

Écrit un nom de catégorie et un message dans les écouteurs de trace dans la collection Listeners si une condition est 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")]
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)

Paramètres

condition
Boolean

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

message
String

Message à écrire.

category
String

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

Attributs

Exemples

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 la TraceLevelVerbose, l’exemple génère le premier message d’erreur vers le Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la collection Listeners, consultez la classe TraceListenerCollection.

Ensuite, si le TraceLevel est défini sur Error ou supérieur, l’exemple génère 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 = 
      gcnew TraceSwitch( "General","Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject, String^ category )
   {
      // Write the message if the TraceSwitch level is set to Error or higher.
      #if defined(DEBUG)
      Debug::WriteIf( generalSwitch->TraceVerbose, String::Concat( myObject, 
         " is not a valid object for category: " ), category );
      
      // Write a second message if the TraceSwitch level is set to Verbose.
      Debug::WriteLineIf( generalSwitch->TraceError, 
         " Please use a different 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 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

Remarques

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

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

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

Notes pour les héritiers

Vous pouvez réduire la pénalité de performances d’instrumenter votre application à l’aide d’instructions If...Then au lieu d’utiliser des instructions WriteIf(Boolean, String). Les deux exemples de code suivants envoient le même message de débogage. Toutefois, le premier exemple est beaucoup plus rapide lorsque le suivi est désactivé, car si mySwitch.TraceError prend la valeur false, vous n’appelez pas Write(String). Le deuxième exemple appelle toujours WriteIf(Boolean, String), même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est générée. Cela peut entraîner une exécution inutile de 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");

Voir aussi

S’applique à