Debug.WriteLineIf Metoda

Definice

Zapisuje informace o ladění do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes information about the debug to the trace listeners in the Listeners collection if a condition is true.

Přetížení

WriteLineIf(Boolean, Object, String)

Zapíše název kategorie a hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String)

Zapíše zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, Object, String)

Zapíše název kategorie a hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

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

Parametry

condition
Boolean

Podmíněný výraz, který se má vyhodnotitThe conditional expression to evaluate. Pokud je podmínka true , název a hodnota kategorie se zapisují do posluchačů trasování v kolekci.If the condition is true, the category name and value are written to the trace listeners in the collection.

value
Object

Objekt, jehož název je odeslán do Listeners .An object whose name is sent to the Listeners.

category
String

Název kategorie, který slouží k uspořádání výstupu.A category name used to organize the output.

Atributy

Příklady

Následující příklad vytvoří TraceSwitch pojmenovaný generalSwitch .The following example creates a TraceSwitch named generalSwitch. Tento přepínač je nastaven mimo ukázku kódu.This switch is set outside of the code sample.

Pokud je přepínač nastaven na hodnotu TraceLevel Error nebo vyšší, v příkladu se výstup první chybové zprávy vrátí do Listeners .If the switch is set to the TraceLevelError or higher, the example outputs the first error message to the Listeners. Informace o přidání naslouchacího procesu do Listeners kolekce naleznete v tématu TraceListenerCollection Třída.For information on adding a listener to the Listeners collection, see the TraceListenerCollection class.

V případě, že TraceLevel je nastavena na Verbose , příklad vypíše druhou chybovou zprávu na stejném řádku jako první zpráva.Then, if the TraceLevel is set to Verbose, the example outputs the second error message on the same line as the first message. Ukončení řádku následuje po druhé zprávě.A line terminator follows the second message.

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

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

   // Write a second message if the TraceSwitch level is set to Verbose.
   Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, 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 Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "Invalid object for category. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, category)
End Sub

Poznámky

Ve výchozím nastavení je výstup zapsán do instance DefaultTraceListener .By default, the output is written to an instance of DefaultTraceListener.

categoryParametr lze použít k seskupení výstupních zpráv.The category parameter can be used to group output messages.

Tato metoda volá WriteLine metodu naslouchacího procesu trasování.This method calls the WriteLine method of the trace listener.

Poznámky pro dědice

Snížení výkonu pro instrumentaci aplikace můžete minimalizovat pomocí If...Then příkazů namísto WriteLineIf(Boolean, String) příkazů using.You can minimize the performance penalty of instrumenting your application by using If...Then statements instead of using WriteLineIf(Boolean, String) statements. Následující dva příklady kódu odesílají stejnou zprávu ladění.The following two code examples send the same debugging message. První příklad je však mnohem rychlejší, když je trasování vypnuto, protože pokud je mySwitch. zaznamenáno: TraceError vyhodnoceno jako false , Nevolejte WriteLine(String) .However, the first example is much faster when tracing is off, because if mySwitch.TraceError evaluates to false, you do not call WriteLine(String). Druhý příklad vždy volá WriteLineIf(Boolean, String) i v případě, že MySwitch. zaznamenáno: TraceError je false a není vytvořen výstup trasování.The second example always calls WriteLineIf(Boolean, String), even when mySwitch.TraceError is false and no tracing output is produced. To může vést k zbytečnému spuštění svévolného komplexního kódu.This can result in unnecessary execution of arbitrarily complex code.

První příklad:First example:

if(mySwitch.TraceError)   
    Debug.WriteLine("aNumber = " + aNumber + " out of range");  

Druhý příklad:Second example:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");  

Viz také

Platí pro

WriteLineIf(Boolean, Object)

Zapíše hodnotu ToString() metody objektu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

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

Parametry

condition
Boolean

Podmíněný výraz, který se má vyhodnotitThe conditional expression to evaluate. Pokud je podmínka true , hodnota je zapsána do posluchačů trasování v kolekci.If the condition is true, the value is written to the trace listeners in the collection.

value
Object

Objekt, jehož název je odeslán do Listeners .An object whose name is sent to the Listeners.

Atributy

Příklady

Následující příklad vytvoří TraceSwitch pojmenovaný generalSwitch .The following example creates a TraceSwitch named generalSwitch. Tento přepínač je nastaven mimo ukázku kódu.This switch is set outside of the code sample.

Pokud je přepínač nastaven na hodnotu TraceLevel Error nebo vyšší, v příkladu se výstup první chybové zprávy vrátí do Listeners .If the switch is set to the TraceLevelError or higher, the example outputs the first error message to the Listeners. Informace o přidání naslouchacího procesu do Listeners kolekce naleznete v tématu TraceListenerCollection Třída.For information on adding a listener to the Listeners collection, see the TraceListenerCollection class.

V případě, že TraceLevel je nastavena na hodnotu Verbose , příklad vypíše název objektu na stejném řádku jako první zpráva.Then, if the TraceLevel is set to Verbose, the example outputs the name of the object on the same line as the first message. Ukončení řádku následuje po druhé zprávě.A line terminator follows the second message.

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

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

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject);
 }

' 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.
    Debug.WriteIf(generalSwitch.TraceError, "Invalid object. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject)
End Sub

Poznámky

Ve výchozím nastavení je výstup zapsán do instance DefaultTraceListener .By default, the output is written to an instance of DefaultTraceListener.

Tato metoda volá WriteLine metodu naslouchacího procesu trasování.This method calls the WriteLine method of the trace listener.

Poznámky pro dědice

Snížení výkonu pro instrumentaci aplikace můžete minimalizovat pomocí If...Then příkazů namísto WriteLineIf(Boolean, String) příkazů using.You can minimize the performance penalty of instrumenting your application by using If...Then statements instead of using WriteLineIf(Boolean, String) statements. Následující dva příklady kódu odesílají stejnou zprávu ladění.The following two code examples send the same debugging message. První příklad je však mnohem rychlejší, když je trasování vypnuto, protože pokud je mySwitch. zaznamenáno: TraceError vyhodnoceno jako false , Nevolejte WriteLine(String) .However, the first example is much faster when tracing is off, because if mySwitch.TraceError evaluates to false, you do not call WriteLine(String). Druhý příklad vždy volá WriteLineIf(Boolean, String) i v případě, že MySwitch. zaznamenáno: TraceError je false a není vytvořen výstup trasování.The second example always calls WriteLineIf(Boolean, String), even when mySwitch.TraceError is false and no tracing output is produced. To může vést k zbytečnému spuštění svévolného komplexního kódu.This can result in unnecessary execution of arbitrarily complex code.

První příklad:First example:

if(mySwitch.TraceError)   
    Debug.WriteLine("aNumber = " + aNumber + " out of range");  

Druhý příklad:Second example:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");  

Viz také

Platí pro

WriteLineIf(Boolean, String)

Zapíše zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

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

Parametry

condition
Boolean

Podmíněný výraz, který se má vyhodnotitThe conditional expression to evaluate. Pokud je podmínka true , zpráva je zapsána do posluchačů trasování v kolekci.If the condition is true, the message is written to the trace listeners in the collection.

message
String

Zpráva pro zápisA message to write.

Atributy

Příklady

Následující příklad vytvoří TraceSwitch pojmenovaný generalSwitch .The following example creates a TraceSwitch named generalSwitch. Tento přepínač je nastaven mimo ukázku kódu.This switch is set outside of the code sample.

Pokud je přepínač nastaven na hodnotu TraceLevel Error nebo vyšší, v příkladu se výstup první chybové zprávy vrátí do Listeners .If the switch is set to the TraceLevelError or higher, the example outputs the first error message to the Listeners. Informace o přidání naslouchacího procesu do Listeners kolekce naleznete v tématu TraceListenerCollection Třída.For information about adding a listener to the Listeners collection, see the TraceListenerCollection class.

V případě, že TraceLevel je nastavena na Verbose , příklad vypíše druhou chybovou zprávu na stejném řádku jako první zpráva.Then, if the TraceLevel is set to Verbose, the example outputs the second error message on the same line as the first message. Ukončení řádku následuje po druhé zprávě.A line terminator follows the second message.

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

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

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.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.
    Debug.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub

Poznámky

Ve výchozím nastavení je výstup zapsán do instance DefaultTraceListener .By default, the output is written to an instance of DefaultTraceListener.

Tato metoda volá TraceListener.WriteLine metodu naslouchacího procesu trasování.This method calls the TraceListener.WriteLine method of the trace listener.

Poznámky pro dědice

Snížení výkonu pro instrumentaci aplikace můžete minimalizovat pomocí If...Then příkazů namísto WriteLineIf(Boolean, String) příkazů using.You can minimize the performance penalty of instrumenting your application by using If...Then statements instead of using WriteLineIf(Boolean, String) statements. Následující dva příklady kódu odesílají stejnou zprávu ladění.The following two code examples send the same debugging message. První příklad je však mnohem rychlejší, když je trasování vypnuto, protože pokud je mySwitch. zaznamenáno: TraceError vyhodnoceno jako false , Nevolejte WriteLine(String) .However, the first example is much faster when tracing is off, because if mySwitch.TraceError evaluates to false, you do not call WriteLine(String). Druhý příklad vždy volá WriteLineIf(Boolean, String) i v případě, že MySwitch. zaznamenáno: TraceError je false a není vytvořen výstup trasování.The second example always calls WriteLineIf(Boolean, String), even when mySwitch.TraceError is false and no tracing output is produced. To může vést k zbytečnému spuštění svévolného komplexního kódu.This can result in unnecessary execution of arbitrarily complex code.

První příklad:First example:

if(mySwitch.TraceError)   
    Debug.WriteLine("aNumber = " + aNumber + " out of range");  

Druhý příklad:Second example:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");  

Viz také

Platí pro

WriteLineIf(Boolean, String, String)

Zapíše název kategorie a zprávu do posluchačů trasování v Listeners kolekci, pokud je podmínka true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

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

Parametry

condition
Boolean

true způsob zápisu zprávy; v opačném případě false .true to cause a message to be written; otherwise, false.

message
String

Zpráva pro zápisA message to write.

category
String

Název kategorie, který slouží k uspořádání výstupu.A category name used to organize the output.

Atributy

Příklady

Následující příklad vytvoří TraceSwitch pojmenovaný generalSwitch .The following example creates a TraceSwitch named generalSwitch. Tento přepínač je nastaven mimo ukázku kódu.This switch is set outside of the code sample.

Pokud je přepínač nastaven na hodnotu TraceLevel Error nebo vyšší, v příkladu se výstup první chybové zprávy vrátí do Listeners .If the switch is set to the TraceLevelError or higher, the example outputs the first error message to the Listeners. Informace o přidání naslouchacího procesu do Listeners kolekce naleznete v tématu TraceListenerCollection Třída.For information on adding a listener to the Listeners collection, see the TraceListenerCollection class.

V případě, že TraceLevel je nastavena na Verbose , příklad vypíše druhou chybovou zprávu a na category stejném řádku jako první zpráva.Then, if the TraceLevel is set to Verbose, the example outputs the second error message and the category on the same line as the first message. Ukončení řádku následuje po druhé zprávě.A line terminator follows the second message.

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

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

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

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", category);
 }

' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod(category As String)
    ' Write the message if the TraceSwitch level is set to Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", category)
End Sub

Poznámky

Ve výchozím nastavení je výstup zapsán do instance DefaultTraceListener .By default, the output is written to an instance of DefaultTraceListener.

categoryParametr lze použít k seskupení výstupních zpráv.The category parameter can be used to group output messages.

Tato metoda volá TraceListener.WriteLine metodu naslouchacího procesu trasování.This method calls the TraceListener.WriteLine method of the trace listener.

Poznámky pro dědice

Snížení výkonu pro instrumentaci aplikace můžete minimalizovat pomocí If...Then příkazů namísto WriteLineIf(Boolean, String) příkazů using.You can minimize the performance penalty of instrumenting your application by using If...Then statements instead of using WriteLineIf(Boolean, String) statements. Následující dva příklady kódu odesílají stejnou zprávu ladění.The following two code examples send the same debugging message. První příklad je však mnohem rychlejší, když je trasování vypnuto, protože pokud je mySwitch. zaznamenáno: TraceError vyhodnoceno jako false , Nevolejte WriteLine(String) .However, the first example is much faster when tracing is off, because if mySwitch.TraceError evaluates to false, you do not call WriteLine(String). Druhý příklad vždy volá WriteLineIf(Boolean, String) i v případě, že MySwitch. zaznamenáno: TraceError je false a není vytvořen výstup trasování.The second example always calls WriteLineIf(Boolean, String), even when mySwitch.TraceError is false and no tracing output is produced. To může vést k zbytečnému spuštění svévolného komplexního kódu.This can result in unnecessary execution of arbitrarily complex code.

První příklad:First example:

if(mySwitch.TraceError)   
    Debug.WriteLine("aNumber = " + aNumber + " out of range");  

Druhý příklad:Second example:

Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");  

Viz také

Platí pro