Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto

Metodo Trace.WriteIf (Boolean, String, String)

Scrive un nome di categoria e un messaggio nei listener di analisi dell'insieme Listeners se una condizione è true.

Spazio dei nomi: System.Diagnostics
Assembly: System (in 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
)
Non applicabile.

Parametri

condition

true per produrre la scrittura di un messaggio; in caso contrario, false.

message

Messaggio da scrivere.

category

Nome di categoria utilizzato per organizzare l'output.

Per impostazione predefinita, l'output viene scritto in un'istanza di DefaultTraceListener.

Per raggruppare i messaggi di output, è possibile utilizzare il parametro category.

Questo metodo chiama il metodo Write del listener di analisi.

Note per gli implementatori: È possibile ridurre gli effetti negativi sulle prestazioni derivanti dall'instrumentazione dell'applicazione utilizzando istruzioni If...Then anziché istruzioni WriteIf. Nei due esempi di codice che seguono viene inviato lo stesso messaggio di debug. Nel primo esempio, tuttavia, la velocità risulta decisamente superiore se viene disattivata l'analisi, perché se mySwitch.TraceError restituisce false non viene chiamato il metodo Write. Nel secondo esempio viene chiamato sempre il metodo WriteIf, anche se mySwitch.TraceError è false e non viene prodotto output di analisi. Questa operazione può provocare l'inutile esecuzione di un codice arbitrariamente complesso. Primo esempio

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

Nell'esempio riportato di seguito viene generata un'opzione TraceSwitch denominata generalSwitch. Questa opzione viene impostata all'esterno del codice di esempio.

Se l'opzione viene impostata sul livello TraceLevelVerbose, il primo messaggio di errore dell'esempio verrà generato nei Listeners. Per informazioni sull'aggiunta di un listener all'insieme Listeners, vedere la classe TraceListenerCollection.

Se quindi TraceLevel è impostato su Error o su un valore superiore, il secondo messaggio di errore verrà restituito sulla stessa riga del primo messaggio. Il secondo messaggio è seguito da un terminatore di riga.

// 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 Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 è supportato in Windows Vista, Microsoft Windows XP SP2 e Windows Server 2003 SP1.

.NET Framework

Supportato in:

XNA Framework

Supportato in:

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft