Exportar (0) Imprimir
Expandir todo

BooleanSwitch (Clase)

Actualización: noviembre 2007

Proporciona un modificador de activación y desactivación sencillo que controla los resultados de la depuración y del seguimiento.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public class BooleanSwitch : Switch
public class BooleanSwitch extends Switch
public class BooleanSwitch extends Switch

Se puede utilizar un modificador de seguimiento Boolean para habilitar o deshabilitar mensajes según su importancia. Utilice la propiedad Enabled para obtener el valor actual del modificador.

Se puede habilitar o deshabilitar un objeto BooleanSwitch a través del archivo de configuración de la aplicación y, a continuación, utilizar el valor de BooleanSwitch configurado en la aplicación. De modo alternativo, se puede crear un objeto BooleanSwitch en el código y establecer la propiedad Enabled directamente para instrumentar una sección de código específica.

Para configurar BooleanSwitch, modifique el archivo de configuración que corresponde al nombre de la aplicación. En este archivo, puede agregar y quitar un modificador, establecer un valor del modificador o borrar todos los modificadores establecidos previamente por la aplicación. El archivo de configuración debería tener el formato que se muestra en el siguiente ejemplo.

<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 objeto BooleanSwitch con la propiedad DisplayName establecida en mySwitch y el valor de Enabled establecido en true. Dentro de la aplicación, puede utilizar el valor del modificador configurado creando un objeto BooleanSwitch con el mismo nombre, tal como se muestra en el ejemplo de código siguiente:

private static BooleanSwitch boolSwitch = new BooleanSwitch("mySwitch", 
    "Switch in config file");

public static void Main(string[] args) 
{
    //...
    Console.WriteLine("Boolean switch {0} configured as {1}", 
        boolSwitch.DisplayName, boolSwitch.Enabled.ToString());
    if (boolSwitch.Enabled)
    {
        //...
    }
}

De modo predeterminado, se establece la propiedad Enabled utilizando el valor especificado en el archivo de configuración. Configure el modificador con un valor de 0 para establecer la propiedad Enabled en false; configure el modificador con un valor distinto de cero para establecer la propiedad Enabled en true. Si el constructor BooleanSwitch no puede encontrar los valores iniciales del modificador en el archivo de configuración, la propiedad Enabled del nuevo modificador se establece de modo predeterminado en false.

Para utilizar modificadores, se debe habilitar el seguimiento o la depuración. La sintaxis siguiente es específica del compilador. Si se utilizan compiladores que no sean C# o Visual Basic, consulte la documentación del compilador.

  • Para habilitar la depuración en C#, agregue el indicador /d:DEBUG a la línea de comandos del compilador en el momento de compilar el código o agregue #define DEBUG al principio del archivo. En Visual Basic, agregue el indicador /d:DEBUG=True a la línea de comandos del compilador.

  • Para habilitar el seguimiento en C#, agregue el indicador /d:TRACE a la línea de comandos del compilador en el momento de compilar el código o agregue #define TRACE al principio del archivo. En Visual Basic, agregue el indicador /d:TRACE=True a la línea de comandos del compilador.

82eya946.alert_note(es-es,VS.90).gifNota:

Estos modificadores del compilador de depuración y seguimiento no son necesarios cuando se utiliza la clase BooleanSwitch de forma aislada. Sólo son necesarios con los métodos Trace o Debug que se compilan condicionalmente.

Para obtener más información acerca de cómo instrumentar la aplicación, vea Debug y Trace. Para obtener más información acerca de cómo configurar y utilizar modificadores de seguimiento, vea Modificadores de seguimiento.

82eya946.alert_note(es-es,VS.90).gifNota:

Para mejorar el rendimiento, puede crear miembros BooleanSwitchstatic en la clase.

En el siguiente ejemplo se crea un objeto BooleanSwitch y se utiliza el modificador para determinar si se imprimirá un mensaje de error. Se crea el modificador en el nivel de clase. El método Main pasa su posición a MyMethod, que imprime un mensaje de error y el lugar donde se ha producido el error.

// 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 static BooleanSwitch dataSwitch = 
    new BooleanSwitch("Data", "DataAccess module");

public static void MyMethod(String location)
{
    //Insert code here to handle processing.
    if (dataSwitch.get_Enabled()) {
        Console.WriteLine("Error happened at " + location);
    }
} //MyMethod

public static void main(String[] args)
{
    // Run the method which writes an error message specifying 
    // the location of the error.
    MyMethod("in main");
} //main


// Class level declaration.
 /* Create a BooleanSwitch for data.*/
 static var dataSwitch : BooleanSwitch = new BooleanSwitch("Data", "DataAccess module");

 static public function MyMethod(location : String) {
    // Insert code here to handle processing.
    if(dataSwitch.Enabled)
       Console.WriteLine("Error happened at " + location);
 }

 public static function Main() {
    // Run the method which writes an error message specifying the location of the error.
    MyMethod("in Main");
 }



System.Object
  System.Diagnostics.Switch
    System.Diagnostics.BooleanSwitch

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft