Debug.WriteIf Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Grava informações sobre a depuração para os ouvintes de rastreamento na coleção Listeners se uma condição for true
.
Sobrecargas
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Se |
WriteIf(Boolean, Object) |
Grava o valor do método ToString() do objeto nos ouvintes de rastreamento na coleção Listeners se uma condição for |
WriteIf(Boolean, String) |
Grava uma mensagem nos ouvintes de rastreamento na coleção Listeners se uma condição for |
WriteIf(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 |
WriteIf(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 |
WriteIf(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 |
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Origem:
- Debug.cs
- Origem:
- Debug.cs
- Origem:
- Debug.cs
Se condition
for true
, gravará um nome de categoria e uma mensagem para os ouvintes de rastreamento na coleção Listeners.
public:
static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler)
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.
A mensagem a ser gravada se condition
estiver true
.
- 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.
Use o parâmetro category
para agrupar mensagens de saída.
Esse método chama o método Write do ouvinte de rastreamento.
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Aplica-se a
WriteIf(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
.
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")]
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 a ser avaliada. Se a condição for true
, o valor será gravado nos ouvintes de rastreamento na coleção.
- 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á o nome do parâmetro de valor 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á uma mensagem na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.
// 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, 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." );
#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, 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
Comentários
Por padrão, a saída é gravada em uma instância de DefaultTraceListener.
Esse método chama o método Write 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 WriteIf(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á Write(String). O segundo exemplo sempre chama WriteIf(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:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo exemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Aplica-se a
WriteIf(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
.
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")]
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 a ser avaliada. Se a condição for true
, a mensagem será gravada para os ouvintes de rastreamento na coleção.
- message
- String
Uma 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.
// 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::WriteIf( generalSwitch->TraceVerbose,
"My second error message." );
#endif
}
// 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
Comentários
Por padrão, a saída é gravada em uma instância de DefaultTraceListener.
Esse método chama o método Write 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 WriteIf(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á Write(String). O segundo exemplo sempre chama WriteIf(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:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo exemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Aplica-se a
WriteIf(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
.
public:
static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf (bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler, category As String)
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.
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.
Use o parâmetro category
para agrupar mensagens de saída.
Esse método chama o método Write do ouvinte de rastreamento.
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Aplica-se a
WriteIf(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
.
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")]
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 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.
- 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 o TraceLevelVerbose
, o exemplo gerará o nome do myObject
e o category
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 Error
ou superior, o exemplo gerará a segunda mensagem de erro na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.
// 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->TraceVerbose, myObject, category );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceError,
" Object is not valid for this 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 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
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 Write 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 WriteIf(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á Write(String). O segundo exemplo sempre chama WriteIf(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:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo exemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Aplica-se a
WriteIf(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
.
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")]
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 a ser avaliada. Se a condição for true
, o nome da categoria e a mensagem serão gravados nos ouvintes de rastreamento na coleção.
- message
- String
Uma 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 o TraceLevelVerbose
, 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 Error
ou superior, o exemplo gerará a segunda mensagem de erro na mesma linha que a primeira mensagem. Um terminador de linha segue a segunda mensagem.
// 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->TraceVerbose, String::Concat( myObject,
" is not a valid object for category: " ), category );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceError,
" Please use a different 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 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
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.Write 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 WriteIf(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á Write(String). O segundo exemplo sempre chama WriteIf(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:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo exemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Confira também
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute