Comparteix a través de


Trace.WriteIf Método

Definición

Escribe información sobre el seguimiento en los agentes de 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 en los agentes de escucha de seguimiento 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 de seguimiento de 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 en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, String, String)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.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("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 hacer 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 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. 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 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)   
    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)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.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("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 hacer que se escriba un mensaje; de lo contrario, false.

value
Object

Un Object 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. 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 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)   
    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)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.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("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 hacer que se escriba un mensaje; de lo contrario, false.

value
Object

Un Object 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. 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 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)   
    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)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.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("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 hacer 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 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. 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 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)   
    Trace.Write("aNumber = " + aNumber + " out of range");  

segundo ejemplo

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

Consulte también

Se aplica a