BooleanSwitch Clase
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í.
Proporciona un conmutador de activado/desactivado sencillo que controla los resultados de depuración y traza.
public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
inherit Switch
Public Class BooleanSwitch
Inherits Switch
- Herencia
Ejemplos
En el ejemplo siguiente se crea y BooleanSwitch se usa el modificador para determinar si se va a imprimir un mensaje de error. Cree el modificador en el nivel de clase. El Main
método pasa su ubicación a MyMethod
, que imprime un mensaje de error y dónde se produjo el error.
public ref class BooleanSwitchTest
{
private:
/* Create a BooleanSwitch for data.*/
static BooleanSwitch^ dataSwitch = gcnew BooleanSwitch( "Data","DataAccess module" );
public:
static void MyMethod( String^ location )
{
//Insert code here to handle processing.
if ( dataSwitch->Enabled )
Console::WriteLine( "Error happened at {0}", location );
}
};
int main()
{
//Run the method which writes an error message specifying the location of the error.
BooleanSwitchTest::MyMethod( "in main" );
}
// Class level declaration.
/* Create a BooleanSwitch for data.*/
static BooleanSwitch dataSwitch = new BooleanSwitch("Data", "DataAccess module");
static public void MyMethod(string location)
{
//Insert code here to handle processing.
if (dataSwitch.Enabled)
Console.WriteLine("Error happened at " + location);
}
public static void Main(string[] args)
{
//Run the method which writes an error message specifying the location of the error.
MyMethod("in Main");
}
' Class level declaration.
' Create a BooleanSwitch for data.
Private Shared dataSwitch As New BooleanSwitch("Data", "DataAccess module")
Public Shared Sub MyMethod(location As String)
' Insert code here to handle processing.
If dataSwitch.Enabled Then
Console.WriteLine(("Error happened at " + location))
End If
End Sub
' Entry point which delegates to C-style main function.
Public Overloads Shared Sub Main()
Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Public Shared Sub Main(args() As String)
' Run the method which writes an error message specifying the location of the error.
MyMethod("in Main")
End Sub
Comentarios
Puede usar un modificador de seguimiento booleano para habilitar o deshabilitar mensajes en función de su importancia. Utilice la Enabled propiedad para obtener el valor actual del modificador.
Puede crear un BooleanSwitch en el código y establecer la Enabled propiedad directamente para instrumentar una sección específica del código.
Solo para las aplicaciones de .NET Framework, también puede habilitar o deshabilitar mediante BooleanSwitch el archivo de configuración de la aplicación y, a continuación, usar el valor configurado BooleanSwitch en la aplicación. Para configurar , BooleanSwitchedite el archivo de configuración que corresponde al nombre de la aplicación. En este archivo, puede agregar o quitar un modificador, establecer el valor de un modificador o borrar todos los modificadores establecidos anteriormente por la aplicación. El archivo de configuración debe tener formato similar al ejemplo siguiente.
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>
</configuration>
En esta sección de configuración de ejemplo se define un BooleanSwitch con la DisplayName propiedad establecida mySwitch
en y el Enabled valor establecido en true
. En la aplicación de .NET Framework, puede usar el valor del modificador configurado mediante la creación de un BooleanSwitch con el mismo nombre, como se muestra en el ejemplo de código siguiente.
private:
static BooleanSwitch^ boolSwitch = gcnew BooleanSwitch("mySwitch",
"Switch in config file");
public:
static void Main( )
{
//...
Console::WriteLine("Boolean switch {0} configured as {1}",
boolSwitch->DisplayName, ((Boolean^)boolSwitch->Enabled)->ToString());
if (boolSwitch->Enabled)
{
//...
}
}
private static BooleanSwitch boolSwitch = new BooleanSwitch("mySwitch",
"Switch in config file");
public static void Main()
{
//...
Console.WriteLine("Boolean switch {0} configured as {1}",
boolSwitch.DisplayName, boolSwitch.Enabled.ToString());
if (boolSwitch.Enabled)
{
//...
}
}
Private Shared boolSwitch As new BooleanSwitch("mySwitch", _
"Switch in config file")
Public Shared Sub Main( )
'...
Console.WriteLine("Boolean switch {0} configured as {1}",
boolSwitch.DisplayName, boolSwitch.Enabled.ToString())
If boolSwitch.Enabled = True Then
'...
End If
End Sub
En el caso de las aplicaciones de .NET Core y .NET 5+, la Enabled propiedad del nuevo modificador se establece false
en de forma predeterminada.
En el caso de las aplicaciones de .NET Framework, la Enabled propiedad se establece con el valor especificado en el archivo de configuración. Configure el modificador con un valor de 0 para establecer la Enabled propiedad false
en ; configure el modificador con un valor distinto de cero para establecer la Enabled propiedad en true
. Si el BooleanSwitch constructor no encuentra la configuración inicial del modificador en el archivo de configuración, la Enabled propiedad del nuevo modificador se establece false
en .
Debe habilitar el seguimiento o la depuración para usar un modificador. La siguiente sintaxis es específica del compilador. Si usa compiladores distintos de C# o Visual Basic, consulte la documentación del compilador.
Para habilitar la depuración en C#, agregue la
/d:DEBUG
marca a la línea de comandos del compilador al compilar el código, o bien puede agregarla#define DEBUG
a la parte superior del archivo. En Visual Basic, agregue la/d:DEBUG=True
marca a la línea de comandos del compilador.Para habilitar el seguimiento en C#, agregue la
/d:TRACE
marca a la línea de comandos del compilador al compilar el código o agregue#define TRACE
a la parte superior del archivo. En Visual Basic, agregue la/d:TRACE=True
marca a la línea de comandos del compilador.
Nota
Estos modificadores del compilador de depuración y seguimiento no son necesarios cuando se usa la BooleanSwitch clase de forma aislada. Solo son necesarios junto con Trace métodos o Debug que se compilan condicionalmente.
Para más información sobre cómo instrumentar la aplicación, consulte Debug y Trace. Para obtener más información sobre cómo configurar y usar modificadores de seguimiento, vea Modificadores de seguimiento.
Nota
Para mejorar el rendimiento, puede crear BooleanSwitch miembros static
en la clase.
Constructores
BooleanSwitch(String, String) |
Inicializa una nueva instancia de la clase BooleanSwitch con el nombre para mostrar especificado y la descripción. |
BooleanSwitch(String, String, String) |
Inicializa una nueva instancia de la clase BooleanSwitch con el nombre para mostrar especificado, la descripción y el valor de modificador predeterminado. |
Propiedades
Attributes |
Obtiene los atributos de modificador personalizados definidos en el archivo de configuración de la aplicación. (Heredado de Switch) |
DefaultValue |
Obtiene el valor predeterminado asignado en el constructor. (Heredado de Switch) |
Description |
Obtiene una descripción del modificador. (Heredado de Switch) |
DisplayName |
Obtiene el nombre utilizado para identificar el modificador. (Heredado de Switch) |
Enabled |
Obtiene o establece un valor que indica si el modificador está habilitado o deshabilitado. |
SwitchSetting |
Obtiene o establece la configuración actual de este modificador. (Heredado de Switch) |
Value |
Obtiene o establece el valor del modificador. (Heredado de Switch) |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetSupportedAttributes() |
Obtiene los atributos personalizados que admite el modificador. (Heredado de Switch) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnSwitchSettingChanged() |
Se invoca cuando cambia la propiedad SwitchSetting. (Heredado de Switch) |
OnValueChanged() |
Determina si el nuevo valor de la propiedad Value se puede analizar como un valor booleano. |
OnValueChanged() |
Se invoca cuando cambia la propiedad Value. (Heredado de Switch) |
Refresh() |
Actualiza los datos de configuración de seguimiento. (Heredado de Switch) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |