Exportar (0) Imprimir
Expandir todo

Trace.WriteIf (Método) (Boolean, Object, String)

Actualización: noviembre 2007

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.

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

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

Parámetros

condition
Tipo: System.Boolean
true para que se escriba un mensaje; en caso contrario, false.
value
Tipo: System.Object
Object cuyo nombre se envía a la propiedad Listeners.
category
Tipo: System.String
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 nombre de myObject y category 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, 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 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, category);

    // Write a second message if the TraceSwitch level is set to Error
    // or higher.         
    Trace.WriteLineIf(generalSwitch.get_TraceError(), 
         " Object is not valid for this 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, 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
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft