Ler em inglês

Partilhar via


Debug.WriteLineIf Método

Definição

Grava informações sobre a depuração para os ouvintes de rastreamento na coleção Listeners se uma condição for true.

Sobrecargas

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Grava uma mensagem nos ouvintes de rastreamento na coleção Listeners se uma condição especificada for true.

WriteLineIf(Boolean, Object)

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento na coleção Listeners se uma condição for true.

WriteLineIf(Boolean, String)

Grava uma mensagem nos ouvintes de rastreamento na coleção Listeners se uma condição for true.

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

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

WriteLineIf(Boolean, String, String)

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

WriteLineIf(Boolean, Object, String)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

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

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object value, string category);
C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object? value, string? category);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, o nome e o valor da categoria serão gravados nos ouvintes de rastreamento 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 a seguir cria um TraceSwitch chamado generalSwitch. Essa opção é definida fora do exemplo de código.

Se a opção estiver definida como TraceLevelError ou superior, o exemplo gerará a primeira mensagem de erro para o Listeners. Para obter informações sobre como adicionar um ouvinte à coleção Listeners, consulte a classe TraceListenerCollection.

Em seguida, se o TraceLevel estiver definido como Verbose, o exemplo gerará a segunda mensagem de erro na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.

C#
// 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);
}

Comentários

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

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

Esse método chama o método WriteLine do ouvinte de rastreamento.

Notas aos Herdeiros

Você pode minimizar a penalidade de desempenho de instrumentar seu aplicativo usando instruções If...Then em vez de usar instruções WriteLineIf(Boolean, String). Os dois exemplos de código a seguir enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o rastreamento está desativado, porque se mySwitch.TraceError for avaliado como false, você não chamará WriteLine(String). O segundo exemplo sempre chama WriteLineIf(Boolean, String), mesmo quando mySwitch.TraceError é false e nenhuma saída de rastreamento é produzida. Isso pode resultar em execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

Grava uma mensagem nos ouvintes de rastreamento na coleção Listeners se uma condição especificada for true.

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, a mensagem será gravada para os ouvintes de rastreamento na coleção.

message
Debug.WriteIfInterpolatedStringHandler

A mensagem a ser gravada.

Atributos

Comentários

Essa sobrecarga foi introduzida no .NET 6 para melhorar o desempenho. Em comparação com as sobrecargas que levam um parâmetro String, essa sobrecarga só avalia quaisquer itens de formatação de cadeia de caracteres interpolada se a mensagem for necessária.

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

Esse método chama o método TraceListener.WriteLine do ouvinte de rastreamento.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9

WriteLineIf(Boolean, Object)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento na coleção Listeners se uma condição for true.

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object value);
C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, object? value);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, o valor será gravado nos ouvintes de rastreamento na coleção.

value
Object

Um objeto cujo nome é enviado para o Listeners.

Atributos

Exemplos

O exemplo a seguir cria um TraceSwitch chamado generalSwitch. Essa opção é definida fora do exemplo de código.

Se a opção estiver definida como TraceLevelError ou superior, o exemplo gerará a primeira mensagem de erro para o Listeners. Para obter informações sobre como adicionar um ouvinte à coleção Listeners, consulte a classe TraceListenerCollection.

Em seguida, se o TraceLevel estiver definido como Verbose, o exemplo produzirá o nome do objeto na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.

C#
// 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);
}

Comentários

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

Esse método chama o método WriteLine do ouvinte de rastreamento.

Notas aos Herdeiros

Você pode minimizar a penalidade de desempenho de instrumentar seu aplicativo usando instruções If...Then em vez de usar instruções WriteLineIf(Boolean, String). Os dois exemplos de código a seguir enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o rastreamento está desativado, porque se mySwitch.TraceError for avaliado como false, você não chamará WriteLine(String). O segundo exemplo sempre chama WriteLineIf(Boolean, String), mesmo quando mySwitch.TraceError é false e nenhuma saída de rastreamento é produzida. Isso pode resultar em execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WriteLineIf(Boolean, String)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

Grava uma mensagem nos ouvintes de rastreamento na coleção Listeners se uma condição for true.

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string message);
C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string? message);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, a mensagem será gravada para os ouvintes de rastreamento na coleção.

message
String

A mensagem a ser gravada.

Atributos

Exemplos

O exemplo a seguir cria um TraceSwitch chamado generalSwitch. Essa opção é definida fora do exemplo de código.

Se a opção estiver definida como TraceLevelError ou superior, o exemplo gerará a primeira mensagem de erro para o Listeners. Para obter informações sobre como adicionar um ouvinte à coleção Listeners, consulte a classe TraceListenerCollection.

Em seguida, se o TraceLevel estiver definido como Verbose, o exemplo gerará a segunda mensagem de erro na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.

C#
// 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.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.");
}

Comentários

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

Esse método chama o método TraceListener.WriteLine do ouvinte de rastreamento.

Notas aos Herdeiros

Você pode minimizar a penalidade de desempenho de instrumentar seu aplicativo usando instruções If...Then em vez de usar instruções WriteLineIf(Boolean, String). Os dois exemplos de código a seguir enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o rastreamento está desativado, porque se mySwitch.TraceError for avaliado como false, você não chamará WriteLine(String). O segundo exemplo sempre chama WriteLineIf(Boolean, String), mesmo quando mySwitch.TraceError é false e nenhuma saída de rastreamento é produzida. Isso pode resultar em execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

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

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, a mensagem e o nome da categoria serão gravados nos ouvintes de rastreamento na coleção.

message
Debug.WriteIfInterpolatedStringHandler

A mensagem a ser gravada.

category
String

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

Atributos

Comentários

Essa sobrecarga foi introduzida no .NET 6 para melhorar o desempenho. Em comparação com as sobrecargas que levam um parâmetro String, essa sobrecarga só avalia quaisquer itens de formatação de cadeia de caracteres interpolada se a mensagem for necessária.

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

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

Esse método chama o método TraceListener.WriteLine do ouvinte de rastreamento.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9

WriteLineIf(Boolean, String, String)

Origem:
Debug.cs
Origem:
Debug.cs
Origem:
Debug.cs

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

C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string message, string category);
C#
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf (bool condition, string? message, string? category);

Parâmetros

condition
Boolean

A expressão condicional a ser avaliada. Se a condição for true, a mensagem e o nome da categoria serão gravados nos ouvintes de rastreamento na coleção.

message
String

A mensagem a ser gravada.

category
String

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

Atributos

Exemplos

O exemplo a seguir cria um TraceSwitch chamado generalSwitch. Essa opção é definida fora do exemplo de código.

Se a opção estiver definida como TraceLevelError ou superior, o exemplo gerará a primeira mensagem de erro para o Listeners. Para obter informações sobre como adicionar um ouvinte à coleção Listeners, consulte a classe TraceListenerCollection.

Em seguida, se o TraceLevel estiver definido como Verbose, o exemplo gerará a segunda mensagem de erro e o category na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.

C#
// 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);
}

Comentários

Por padrão, a saída é gravada em uma instância de DefaultTraceListener.

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

Esse método chama o método TraceListener.WriteLine do ouvinte de rastreamento.

Notas aos Herdeiros

Você pode minimizar a penalidade de desempenho de instrumentar seu aplicativo usando instruções If...Then em vez de usar instruções WriteLineIf(Boolean, String). Os dois exemplos de código a seguir enviam a mesma mensagem de depuração. No entanto, o primeiro exemplo é muito mais rápido quando o rastreamento está desativado, porque se mySwitch.TraceError for avaliado como false, você não chamará WriteLine(String). O segundo exemplo sempre chama WriteLineIf(Boolean, String), mesmo quando mySwitch.TraceError é false e nenhuma saída de rastreamento é produzida. Isso pode resultar em execução desnecessária de código arbitrariamente complexo.

Primeiro exemplo:

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

Segundo exemplo:

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

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0