BooleanSwitch Clase

Definición

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
BooleanSwitch

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 falseen ; 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 falseen .

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)

Se aplica a

Consulte también