Trace.WriteIf Método

Definición

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

Sobrecargas

WriteIf(Boolean, String, String)

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

WriteIf(Boolean, Object, String)

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

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 a los agentes de escucha de la colección Listeners si una condición es true.

WriteIf(Boolean, String, String)

Escribe un nombre de categoría y un mensaje a los agentes de escucha 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("TRACE")]
public static void WriteIf (bool condition, string? message, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, string message, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * string * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String, category As String)

Parámetros

condition
Boolean

true para que se escriba un mensaje; de lo contrario, false.

message
String

Mensaje que se va a escribir.

category
String

Nombre de categoría usado para organizar el resultado.

Atributos

Ejemplos

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

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

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

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject, String^ category )
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set to Verbose.
      Trace::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 Error or higher.
      Trace::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.
    Trace.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.
    Trace.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.
    Trace.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.
    Trace.WriteLineIf(generalSwitch.TraceError, _
        " Please use a different category.")
End Sub

Comentarios

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

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

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

Notas a los desarrolladores de herederos

Puede minimizar la penalización del rendimiento de instrumentar la aplicación mediante instrucciones en If...Then lugar de usar WriteIf(Boolean, String) instrucciones . 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, ya que si mySwitch.TraceError se evalúa como no se llama a false Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError es false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrariomente complejo.

Primer ejemplo

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

Segundo ejemplo

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

Consulte también

Se aplica a

WriteIf(Boolean, Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en 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("TRACE")]
public static void WriteIf (bool condition, object? value, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object value, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * obj * string -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object, category As String)

Parámetros

condition
Boolean

true para que se escriba un mensaje; de lo contrario, false.

value
Object

Un Object cuyo nombre se envía a los Listeners.

category
String

Nombre de categoría usado para organizar el resultado.

Atributos

Ejemplos

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

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

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

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

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

    // Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceVerbose, myObject, category)
    
    ' Write a second message if the TraceSwitch level is set to Error or higher.
    Trace.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 category parámetro se puede usar para agrupar mensajes de salida.

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

Notas a los desarrolladores de herederos

Puede minimizar la penalización del rendimiento de instrumentar la aplicación mediante instrucciones en If...Then lugar de usar WriteIf(Boolean, String) instrucciones . 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, ya que si mySwitch.TraceError se evalúa como no se llama a false Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError es false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrariomente complejo.

Primer ejemplo

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

Segundo ejemplo

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

Consulte también

Se aplica a

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.

public:
 static void WriteIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object? value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object value);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * obj -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object)

Parámetros

condition
Boolean

true para que se escriba un mensaje; de lo contrario, false.

value
Object

Un Object cuyo nombre se envía a los Listeners.

Atributos

Ejemplos

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

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

A continuación, si se establece Verboseen TraceLevel , el ejemplo genera un mensaje en la misma línea que el primer mensaje. El segundo mensaje va seguido de un terminador de línea.

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod( Object^ myObject )
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set 
      // to Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, myObject );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::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.
    Trace.WriteIf(generalSwitch.TraceError, myObject);

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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.
    Trace.WriteIf(generalSwitch.TraceError, myObject)
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.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 Write método del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización del rendimiento de instrumentar la aplicación mediante instrucciones en If...Then lugar de usar WriteIf(Boolean, String) instrucciones . 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, ya que si mySwitch.TraceError se evalúa como no se llama a false Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError es false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrariomente complejo.

Primer ejemplo

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

Segundo ejemplo

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

Consulte también

Se aplica a

WriteIf(Boolean, String)

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

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

Parámetros

condition
Boolean

true para que se escriba un mensaje; de lo contrario, false.

message
String

Mensaje que se va a escribir.

Atributos

Ejemplos

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

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

A continuación, si se establece Verboseen TraceLevel , el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. El segundo mensaje va seguido de un terminador de línea.

// Class-level declaration.
// Create a TraceSwitch.
private:
   static TraceSwitch^ generalSwitch = 
      gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyErrorMethod()
   {
      #if defined(TRACE)
      // Write the message if the TraceSwitch level is set to
      // Error or higher.
      Trace::WriteIf( generalSwitch->TraceError, "My error message. " );
      
      // Write a second message if the TraceSwitch level is set
      // to Verbose.
      Trace::WriteLineIf( generalSwitch->TraceVerbose, 
         "My second error message." );
      #endif
   }
// Class-level declaration.
 // Create a TraceSwitch.
 static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

 static public void MyErrorMethod() {
    // Write the message if the TraceSwitch level is set to Error or higher.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(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.
    Trace.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Trace.WriteLineIf(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 Write método del agente de escucha de seguimiento.

Notas a los desarrolladores de herederos

Puede minimizar la penalización del rendimiento de instrumentar la aplicación mediante instrucciones en If...Then lugar de usar WriteIf(Boolean, String) instrucciones . 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, ya que si mySwitch.TraceError se evalúa como no se llama a false Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError es false y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrariomente complejo.

Primer ejemplo

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

Segundo ejemplo

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

Consulte también

Se aplica a