Exportar (0) Imprimir
Expandir todo

Trace.WriteIf (Método) (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.

Espacio de nombres: System.Diagnostics
Ensamblado: System (en system.dll)

[ConditionalAttribute("TRACE")] 
public static void WriteIf (
	bool condition,
	string message,
	string category
)
/** @attribute ConditionalAttribute("TRACE") */ 
public static void WriteIf (
	boolean condition, 
	String message, 
	String category
)
ConditionalAttribute("TRACE") 
public static function WriteIf (
	condition : boolean, 
	message : String, 
	category : String
)
No aplicable.

Parámetros

condition

true para que se escriba un mensaje; en caso contrario, false.

message

Mensaje que se va a escribir.

category

Nombre de categoría utilizado para organizar el resultado.

El resultado se escribe de forma predeterminada en una instancia de DefaultTraceListener.

El parámetro category puede utilizarse para agrupar mensajes de resultados.

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

Notas para los implementadores: Para minimizar la disminución del rendimiento al instrumentar la aplicación, utilice instrucciones If...Then en lugar de instrucciones WriteIf. En los dos ejemplos de código siguientes se envía el mismo mensaje de depuración. Sin embargo, el primer ejemplo resulta mucho más rápido con el seguimiento desactivado, porque si mySwitch.TraceError se evalúa como false, no se llamará a Write. En el segundo ejemplo siempre se llama a WriteIf, aunque mySwitch.TraceError sea false y no se genere ningún resultado de seguimiento. Esto puede resultar en la ejecución innecesaria de código arbitrariamente complejo. Primer ejemplo

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

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

Si el modificador está establecido en TraceLevelVerbose, se envía en el ejemplo el primer mensaje de error a Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección Listeners, vea la clase TraceListenerCollection.

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

// 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 static TraceSwitch generalSwitch = 
    new TraceSwitch("General", "Entire Application");

public static void MyErrorMethod(Object myObject, String category)
{
    // Write the message if the TraceSwitch level is set to Verbose.
    Trace.WriteIf(generalSwitch.get_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.get_TraceError(), 
        "Please use a different category.");
} //MyErrorMethod

// Create a TraceSwitch.
var generalSwitch : TraceSwitch = 
   new TraceSwitch("General", "Entire Application")    

function MyErrorMethod(myObject : Object, category : String)
{
   @if(@TRACE)
   // 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
}

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

XNA Framework

Compatible con: 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft