Debug.WriteIf Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Escribe información sobre la depuración en los agentes de escucha de seguimiento de la colección Listeners si una condición es true
.
Sobrecargas
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Si |
WriteIf(Boolean, Object) |
Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteIf(Boolean, String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si se |
WriteIf(Boolean, Object, String) |
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteIf(Boolean, String, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Si condition
es true
, escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección 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
Expresión condicional que se va a evaluar. Si la condición es true
, el valor se escribe en los agentes de escucha de seguimiento de la colección.
Mensaje que se va a escribir si condition
es true
.
- Atributos
Comentarios
Esta sobrecarga se introdujo en .NET 6 para mejorar el rendimiento. En comparación con las sobrecargas que toman un parámetro String
, esta sobrecarga solo evalúa los elementos de formato de cadena interpolados si se requiere el mensaje.
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
Use el parámetro category
para agrupar mensajes de salida.
Este método llama al método Write del agente de escucha de seguimiento.
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Se aplica a
WriteIf(Boolean, Object)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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
Expresión condicional que se va a evaluar. Si la condición es true
, el valor se escribe en los agentes de escucha de seguimiento de la colección.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch
. Este modificador se establece fuera del ejemplo de código.
Si el modificador se establece en el TraceLevelError
o superior, el ejemplo genera el nombre del parámetro value en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.
A continuación, si el TraceLevel se establece en Verbose
, el ejemplo genera un mensaje en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.
// 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
Comentarios
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
Este método llama al método Write del agente de escucha de seguimiento.
Notas a los desarrolladores de herederos
Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then
en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError
se evalúa como false
, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError
se false
y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.
Primer ejemplo:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo ejemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Se aplica a
WriteIf(Boolean, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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
Expresión condicional que se va a evaluar. Si la condición es true
, el mensaje se escribe en los agentes de escucha de seguimiento de la colección.
- message
- String
Mensaje que se va a escribir.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch
. Este modificador se establece fuera del ejemplo de código.
Si el modificador se establece en el TraceLevelError
o superior, el ejemplo genera el primer mensaje de error en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.
A continuación, si el TraceLevel se establece en Verbose
, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.
// 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
Comentarios
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
Este método llama al método Write del agente de escucha de seguimiento.
Notas a los desarrolladores de herederos
Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then
en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError
se evalúa como false
, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError
se false
y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.
Primer ejemplo:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo ejemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Se aplica a
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si se true
una condición especificada.
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
Expresión condicional que se va a evaluar. Si la condición es true
, el mensaje se escribe en los agentes de escucha de seguimiento de la colección.
Mensaje que se va a escribir.
- category
- String
Nombre de categoría usado para organizar la salida.
- Atributos
Comentarios
Esta sobrecarga se introdujo en .NET 6 para mejorar el rendimiento. En comparación con las sobrecargas que toman un parámetro String
, esta sobrecarga solo evalúa los elementos de formato de cadena interpolados si se requiere el mensaje.
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
Use el parámetro category
para agrupar mensajes de salida.
Este método llama al método Write del agente de escucha de seguimiento.
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Se aplica a
WriteIf(Boolean, Object, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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
Expresión condicional que se va a evaluar. Si la condición es true
, el nombre de categoría y el valor se escriben en los agentes de escucha de seguimiento de la colección.
- category
- String
Nombre de categoría usado para organizar la salida.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch
. Este modificador se establece fuera del ejemplo de código.
Si el modificador se establece en el TraceLevelVerbose
, el ejemplo genera el nombre del myObject
y el category
en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.
A continuación, si el TraceLevel se establece en Error
o superior, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.
// 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
Comentarios
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
El parámetro category
se puede usar para agrupar mensajes de salida.
Este método llama al método Write del agente de escucha de seguimiento.
Notas a los desarrolladores de herederos
Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then
en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError
se evalúa como false
, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError
se false
y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.
Primer ejemplo:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo ejemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Se aplica a
WriteIf(Boolean, String, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la colección Listeners si una condición es 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
Expresión condicional que se va a evaluar. Si la condición es true
, el nombre de categoría y el mensaje se escriben en los agentes de escucha de seguimiento de la colección.
- message
- String
Mensaje que se va a escribir.
- category
- String
Nombre de categoría usado para organizar la salida.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un TraceSwitch denominado generalSwitch
. Este modificador se establece fuera del ejemplo de código.
Si el modificador se establece en el TraceLevelVerbose
, el ejemplo genera el primer mensaje de error en el Listeners. Para obtener información sobre cómo agregar un agente de escucha a la colección de Listeners, consulte la clase TraceListenerCollection.
A continuación, si el TraceLevel se establece en Error
o superior, el ejemplo genera el segundo mensaje de error en la misma línea que el primer mensaje. Un terminador de línea sigue el segundo mensaje.
// 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
Comentarios
De forma predeterminada, la salida se escribe en una instancia de DefaultTraceListener.
El parámetro category
se puede usar para agrupar mensajes de salida.
Este método llama al método TraceListener.Write del agente de escucha de seguimiento.
Notas a los desarrolladores de herederos
Puede minimizar la penalización de rendimiento de instrumentar la aplicación mediante instrucciones If...Then
en lugar de usar instrucciones WriteIf(Boolean, String). Los dos ejemplos de código siguientes envían el mismo mensaje de depuración. Sin embargo, el primer ejemplo es mucho más rápido cuando el seguimiento está desactivado, porque si mySwitch.TraceError
se evalúa como false
, no se llama a Write(String). El segundo ejemplo siempre llama a WriteIf(Boolean, String), incluso cuando mySwitch.TraceError
se false
y no se genera ninguna salida de seguimiento. Esto puede dar lugar a una ejecución innecesaria de código arbitrario complejo.
Primer ejemplo:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Segundo ejemplo:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Consulte también
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute