Debug.WriteIf Método

Definição

Escreve informação sobre a depuração para os ouvintes de traços na Listeners coleção se uma condição for true.

Sobrecargas

Name Description
WriteIf(Boolean, Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, String)

Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção se uma condição for true.

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

Parâmetros

condition
Boolean

A expressão condicional para avaliar. Se a condição for true, o valor é escrito para os ouvintes de traços na coleção.

value
Object

Um objeto cujo nome é enviado para o Listeners.

Atributos

Exemplos

O exemplo seguinte cria um TraceSwitch .generalSwitch Este interruptor está definido fora do exemplo de código.

Se o interruptor estiver definido para ou TraceLevelError superior, o exemplo apresenta o primeiro nome do parâmetro de valor para o Listeners. Para informações sobre como adicionar um ouvinte à Listeners coleção, consulte a TraceListenerCollection aula.

Então, se o TraceLevel for definido como Verbose, o exemplo gera uma mensagem na mesma linha da primeira mensagem. Um terminador de linha segue a segunda mensagem.

// 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, myObject);

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.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.
    Debug.WriteIf(generalSwitch.TraceError, myObject)
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, " is not a valid value for this method.")
End Sub

Observações

Por defeito, a saída é escrita numa instância de DefaultTraceListener.

Este método chama o Write método do ouvinte de traços.

Notas para Herdeiros

Pode minimizar a penalização de desempenho de instrumentar a sua aplicação usando If...Then instruções em vez de instruções WriteIf(Boolean, String) específicas. Os dois exemplos de código seguintes enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o traçado está desligado, porque se mySwitch.TraceError avalia para false, não se chama Write(String). O segundo exemplo chama WriteIf(Boolean, String)sempre , mesmo quando mySwitch.TraceError é false e não é produzida nenhuma saída de traçado. Isto pode resultar na execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Ver também

Aplica-se a

WriteIf(Boolean, String)

Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

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

Parâmetros

condition
Boolean

A expressão condicional para avaliar. Se a condição for true, a mensagem é escrita para os ouvintes de traços na coleção.

message
String

Uma mensagem para escrever.

Atributos

Exemplos

O exemplo seguinte cria um TraceSwitch .generalSwitch Este interruptor está definido fora do exemplo de código.

Se o interruptor estiver definido para ou TraceLevelError superior, o exemplo envia a primeira mensagem de erro para o Listeners. Para informações sobre como adicionar um ouvinte à Listeners coleção, consulte a TraceListenerCollection aula.

Então, se o TraceLevel for definido para Verbose, o exemplo gera a segunda mensagem de erro na mesma linha da primeira mensagem. Um terminador de linha segue a segunda mensagem.

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

static 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.WriteIf(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.WriteIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub

Observações

Por defeito, a saída é escrita numa instância de DefaultTraceListener.

Este método chama o Write método do ouvinte de traços.

Notas para Herdeiros

Pode minimizar a penalização de desempenho de instrumentar a sua aplicação usando If...Then instruções em vez de instruções WriteIf(Boolean, String) específicas. Os dois exemplos de código seguintes enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o traçado está desligado, porque se mySwitch.TraceError avalia para false, não se chama Write(String). O segundo exemplo chama WriteIf(Boolean, String)sempre , mesmo quando mySwitch.TraceError é false e não é produzida nenhuma saída de traçado. Isto pode resultar na execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Ver também

Aplica-se a

WriteIf(Boolean, Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção se uma condição for true.

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

Parâmetros

condition
Boolean

A expressão condicional para avaliar. Se a condição for true, o nome e o valor da categoria são escritos para os ouvintes de traços na coleção.

value
Object

Um objeto cujo nome é enviado para o Listeners.

category
String

Um nome de categoria usado para organizar a saída.

Atributos

Exemplos

O exemplo seguinte cria um TraceSwitch .generalSwitch Este interruptor está definido fora do exemplo de código.

Se o interruptor estiver definido para , TraceLevelVerboseo exemplo gera o nome do myObject e o category para o Listeners. Para informações sobre como adicionar um ouvinte à Listeners coleção, consulte a TraceListenerCollection aula.

Depois, se o TraceLevel for definido como Error ou superior, o exemplo gera a segunda mensagem de erro na mesma linha da primeira mensagem. Um terminador de linha segue a segunda mensagem.

// 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.
    Debug.WriteIf(generalSwitch.TraceVerbose, myObject, category);

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

Observações

Por defeito, a saída é escrita numa instância de DefaultTraceListener.

O category parâmetro pode ser usado para agrupar mensagens de saída.

Este método chama o Write método do ouvinte de traços.

Notas para Herdeiros

Pode minimizar a penalização de desempenho de instrumentar a sua aplicação usando If...Then instruções em vez de instruções WriteIf(Boolean, String) específicas. Os dois exemplos de código seguintes enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o traçado está desligado, porque se mySwitch.TraceError avalia para false, não se chama Write(String). O segundo exemplo chama WriteIf(Boolean, String)sempre , mesmo quando mySwitch.TraceError é false e não é produzida nenhuma saída de traçado. Isto pode resultar na execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Ver também

Aplica-se a

WriteIf(Boolean, String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

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

Parâmetros

condition
Boolean

A expressão condicional para avaliar. Se a condição for true, o nome da categoria e a mensagem são escritos para os ouvintes de traços na coleção.

message
String

Uma mensagem para escrever.

category
String

Um nome de categoria usado para organizar a saída.

Atributos

Exemplos

O exemplo seguinte cria um TraceSwitch .generalSwitch Este interruptor está definido fora do exemplo de código.

Se o interruptor estiver definido para , TraceLevelVerboseo exemplo envia a primeira mensagem de erro para o Listeners. Para informações sobre como adicionar um ouvinte à Listeners coleção, consulte a TraceListenerCollection aula.

Depois, se o TraceLevel for definido como Error ou superior, o exemplo gera a segunda mensagem de erro na mesma linha da primeira mensagem. Um terminador de linha segue a segunda mensagem.

// 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.
    Debug.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.
    Debug.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.
    Debug.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.
    Debug.WriteLineIf(generalSwitch.TraceError, " Please use a different category.")
End Sub

Observações

Por defeito, a saída é escrita numa instância de DefaultTraceListener.

O category parâmetro pode ser usado para agrupar mensagens de saída.

Este método chama o TraceListener.Write método do ouvinte de traços.

Notas para Herdeiros

Pode minimizar a penalização de desempenho de instrumentar a sua aplicação usando If...Then instruções em vez de instruções WriteIf(Boolean, String) específicas. Os dois exemplos de código seguintes enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o traçado está desligado, porque se mySwitch.TraceError avalia para false, não se chama Write(String). O segundo exemplo chama WriteIf(Boolean, String)sempre , mesmo quando mySwitch.TraceError é false e não é produzida nenhuma saída de traçado. Isto pode resultar na execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Ver também

Aplica-se a