Compartir a través de


Debug.WriteIf Método

Definición

Escribe información sobre la depuración en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

Sobrecargas

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Si condition es true, escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners.

WriteIf(Boolean, Object)

Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, String)

Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si se trueuna condición especificada.

WriteIf(Boolean, Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, String, String)

Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

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

Si condition es true, escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección 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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el valor se escribe en los agentes de escucha de seguimiento de la colección.

message
Debug.WriteIfInterpolatedStringHandler

Mensaje que se va a escribir si condition es true.

Atributos

Comentarios

Esta sobrecarga se introdujo en .NET 6 para mejorar el rendimiento. En comparación con las sobrecargas que toman un parámetro String, esta sobrecarga solo evalúa los elementos de formato de cadena interpolados si se requiere el mensaje.

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

Use el parámetro category para agrupar mensajes de salida.

Este método llama al método Write del agente de escucha de seguimiento.

Consulte también

Se aplica a

WriteIf(Boolean, Object)

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

Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el valor se escribe en los agentes de escucha de seguimiento de la colección.

value
Object

Objeto cuyo nombre se envía al Listeners.

Atributos

Ejemplos

En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch. Este modificador se establece fuera del ejemplo de código.

Si el modificador se establece en el TraceLevelError o superior, el ejemplo genera el nombre del parámetro value en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.

A continuación, si el TraceLevel se establece en Verbose, el ejemplo genera un mensaje en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.

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

Comentarios

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

Este método llama al método Write del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError se evalúa como false, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError se false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.

Primer ejemplo:

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

Segundo ejemplo:

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

Consulte también

Se aplica a

WriteIf(Boolean, String)

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

Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el mensaje se escribe en los agentes de escucha de seguimiento de la colección.

message
String

Mensaje que se va a escribir.

Atributos

Ejemplos

En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch. Este modificador se establece fuera del ejemplo de código.

Si el modificador se establece en el TraceLevelError o superior, el ejemplo genera el primer mensaje de error en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.

A continuación, si el TraceLevel se establece en Verbose, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.

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

Comentarios

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

Este método llama al método Write del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError se evalúa como false, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError se false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.

Primer ejemplo:

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

Segundo ejemplo:

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

Consulte también

Se aplica a

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

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

Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si se trueuna condición especificada.

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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el mensaje se escribe en los agentes de escucha de seguimiento de la colección.

message
Debug.WriteIfInterpolatedStringHandler

Mensaje que se va a escribir.

category
String

Nombre de categoría usado para organizar la salida.

Atributos

Comentarios

Esta sobrecarga se introdujo en .NET 6 para mejorar el rendimiento. En comparación con las sobrecargas que toman un parámetro String, esta sobrecarga solo evalúa los elementos de formato de cadena interpolados si se requiere el mensaje.

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

Use el parámetro category para agrupar mensajes de salida.

Este método llama al método Write del agente de escucha de seguimiento.

Consulte también

Se aplica a

WriteIf(Boolean, Object, String)

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

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el nombre de categoría y el valor se escriben en los agentes de escucha de seguimiento de la colección.

value
Object

Objeto cuyo nombre se envía al Listeners.

category
String

Nombre de categoría usado para organizar la salida.

Atributos

Ejemplos

En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch. Este modificador se establece fuera del ejemplo de código.

Si el modificador se establece en el TraceLevelVerbose, el ejemplo genera el nombre del myObject y el category en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.

A continuación, si el TraceLevel se establece en Error o superior, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.

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

Comentarios

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

El parámetro category se puede usar para agrupar mensajes de salida.

Este método llama al método Write del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError se evalúa como false, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError se false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.

Primer ejemplo:

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

Segundo ejemplo:

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

Consulte también

Se aplica a

WriteIf(Boolean, String, String)

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

Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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)

Parámetros

condition
Boolean

Expresión condicional que se va a evaluar. Si la condición es true, el nombre de categoría y el mensaje se escriben en los agentes de escucha de seguimiento de la colección.

message
String

Mensaje que se va a escribir.

category
String

Nombre de categoría usado para organizar la salida.

Atributos

Ejemplos

En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch. Este modificador se establece fuera del ejemplo de código.

Si el modificador se establece en el TraceLevelVerbose, el ejemplo genera el primer mensaje de error en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.

A continuación, si el TraceLevel se establece en Error o superior, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.

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

Comentarios

De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.

El parámetro category se puede usar para agrupar mensajes de salida.

Este método llama al método TraceListener.Write del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError se evalúa como false, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError se false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.

Primer ejemplo:

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

Segundo ejemplo:

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

Consulte también

Se aplica a