Debug.WriteIf Méthode

Définition

Écrit les informations sur la version déboguée sur les écouteurs de trace de la collection Listeners si une condition a la valeur true.

Surcharges

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

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

WriteIf(Boolean, Object)

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

WriteIf(Boolean, String)

Écrit un message dans les écouteurs de suivi de 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 Listeners collection 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 suivi de la collection Listeners, si une condition a la valeur true.

WriteIf(Boolean, String, String)

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

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

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

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

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 la 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 acceptent un String paramètre, cette surcharge évalue uniquement les éléments de mise en forme de chaîne interpolée si le message est requis.

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

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

Cette méthode appelle la Write méthode 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 la trace de 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 la trace de la collection.

value
Object

Objet dont le nom est transmis à 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 a la TraceLevelError valeur ou une valeur supérieure, l’exemple génère le prénom du paramètre value vers le Listeners. Pour plus d’informations sur l’ajout d’un écouteur à la Listeners collection, consultez la TraceListenerCollection classe .

Ensuite, si est TraceLevel 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 un instance de DefaultTraceListener.

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

Notes pour les héritiers

Vous pouvez réduire les performances de l’instrumentation de votre application à l’aide If...Then d’instructions au lieu d’utiliser WriteIf(Boolean, String) des instructions. 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 falsela valeur , vous n’appelez Write(String)pas . Le deuxième exemple appelle WriteIf(Boolean, String)toujours , même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est produite. 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");

Voir aussi

S’applique à

WriteIf(Boolean, String)

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

Écrit un message dans les écouteurs de suivi de 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 la trace de 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 ou TraceLevelError une valeur supé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 Listeners collection, consultez la TraceListenerCollection classe .

Ensuite, si est TraceLevel 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 un instance de DefaultTraceListener.

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

Notes pour les héritiers

Vous pouvez réduire les performances de l’instrumentation de votre application à l’aide If...Then d’instructions au lieu d’utiliser WriteIf(Boolean, String) des instructions. 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 falsela valeur , vous n’appelez Write(String)pas . Le deuxième exemple appelle WriteIf(Boolean, String)toujours , même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est produite. 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");

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 Listeners collection 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 la trace de 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 acceptent un String paramètre, cette surcharge évalue uniquement les éléments de mise en forme de chaîne interpolée si le message est requis.

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

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

Cette méthode appelle la Write méthode 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 suivi de la collection Listeners, si une condition a la valeur 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 de catégorie et la valeur sont écrits dans les écouteurs de la trace de la collection.

value
Object

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

Ensuite, si est TraceLevel défini sur Error ou une valeur supérieure, 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 un 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.

Notes pour les héritiers

Vous pouvez réduire les performances de l’instrumentation de votre application à l’aide If...Then d’instructions au lieu d’utiliser WriteIf(Boolean, String) des instructions. 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 falsela valeur , vous n’appelez Write(String)pas . Le deuxième exemple appelle WriteIf(Boolean, String)toujours , même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est produite. 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");

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 la trace de 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 la trace de 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 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 Listeners collection, consultez la TraceListenerCollection classe .

Ensuite, si est TraceLevel défini sur Error ou une valeur supérieure, 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 un instance de DefaultTraceListener.

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

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

Notes pour les héritiers

Vous pouvez réduire les performances de l’instrumentation de votre application à l’aide If...Then d’instructions au lieu d’utiliser WriteIf(Boolean, String) des instructions. 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 falsela valeur , vous n’appelez Write(String)pas . Le deuxième exemple appelle WriteIf(Boolean, String)toujours , même quand mySwitch.TraceError est false et qu’aucune sortie de suivi n’est produite. 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");

Voir aussi

S’applique à