Condividi tramite


BooleanSwitch Classe

Definizione

Fornisce un'opzione di attivazione/disattivazione che controlla l'output del debug e di traccia.

public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
    inherit Switch
Public Class BooleanSwitch
Inherits Switch
Ereditarietà
BooleanSwitch

Esempio

Nell'esempio seguente viene creato un oggetto BooleanSwitch e viene usato l'opzione per determinare se stampare un messaggio di errore. Si crea l'opzione a livello di classe. Il Main metodo passa il percorso a MyMethod, che stampa un messaggio di errore e dove si è verificato l'errore.

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

Commenti

È possibile usare un commutatore di traccia booleano per abilitare o disabilitare i messaggi in base alla loro importanza. Utilizzare la Enabled proprietà per ottenere il valore corrente dell'opzione.

È possibile creare un BooleanSwitch oggetto nel codice e impostare la Enabled proprietà direttamente per instrumentare una sezione specifica del codice.

Solo per le app .NET Framework è possibile abilitare o disabilitare un BooleanSwitch tramite il file di configurazione dell'applicazione e quindi usare il valore configurato BooleanSwitch nell'applicazione. Per configurare un BooleanSwitchoggetto , modificare il file di configurazione corrispondente al nome dell'applicazione. All'interno di questo file è possibile aggiungere o rimuovere un'opzione, impostare il valore di un commutatore o cancellare tutte le opzioni impostate in precedenza dall'applicazione. Il file di configurazione deve essere formattato come l'esempio seguente.

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="1"/>  
    </switches>  
  </system.diagnostics>  
</configuration>  

Questa sezione di configurazione di esempio definisce un BooleanSwitch oggetto con la DisplayName proprietà impostata su mySwitch e il Enabled valore impostato su true. All'interno dell'applicazione .NET Framework è possibile usare il valore del commutatore configurato creando un BooleanSwitch oggetto con lo stesso nome, come illustrato nell'esempio di codice seguente.

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

Per le app .NET Core e .NET 5+ la Enabled proprietà del nuovo commutatore è impostata su false per impostazione predefinita.

Per le app .NET Framework, la Enabled proprietà viene impostata usando il valore specificato nel file di configurazione. Configurare l'opzione con un valore pari a 0 per impostare la Enabled proprietà su false; configurare l'opzione con un valore diverso da zero per impostare la Enabled proprietà su true. Se il BooleanSwitch costruttore non riesce a trovare le impostazioni iniziali del commutatore nel file di configurazione, la Enabled proprietà del nuovo commutatore è impostata su false.

È necessario abilitare la traccia o il debug per usare un commutatore. La sintassi seguente è specifica del compilatore. Se si usano compilatori diversi da C# o Visual Basic, vedere la documentazione del compilatore.

  • Per abilitare il debug in C#, aggiungere il flag alla riga di comando del compilatore quando si compila il /d:DEBUG codice oppure aggiungere #define DEBUG alla parte superiore del file. In Visual Basic aggiungere il /d:DEBUG=True flag alla riga di comando del compilatore.

  • Per abilitare la traccia in C#, aggiungere il flag alla riga di comando del compilatore quando si compila il /d:TRACE codice o aggiungere #define TRACE alla parte superiore del file. In Visual Basic aggiungere il /d:TRACE=True flag alla riga di comando del compilatore.

Nota

Queste opzioni del compilatore di debug e traccia non sono necessarie quando si usa la BooleanSwitch classe in isolamento. Sono necessari solo in combinazione con Trace o Debug metodi compilati in modo condizionale.

Per altre informazioni sulla strumentazione dell'applicazione, vedere Debug e Trace. Per altre informazioni sulla configurazione e sull'uso di commutatori di traccia, vedere Commutatori di traccia.

Nota

Per migliorare le prestazioni, è possibile creare BooleanSwitch membri static nella classe.

Costruttori

BooleanSwitch(String, String)

Inizializza una nuova istanza della classe BooleanSwitch con il nome visualizzato e la descrizione specificati.

BooleanSwitch(String, String, String)

Inizializza una nuova istanza della classe BooleanSwitch con il nome visualizzato, la descrizione e il valore di opzione predefinito specificati.

Proprietà

Attributes

Ottiene gli attributi di opzione personalizzati definiti nel file di configurazione dell'applicazione.

(Ereditato da Switch)
DefaultValue

Ottiene il valore predefinito assegnato nel costruttore.

(Ereditato da Switch)
Description

Ottiene una descrizione dell'opzione.

(Ereditato da Switch)
DisplayName

Ottiene un nome utilizzato per identificare l'opzione.

(Ereditato da Switch)
Enabled

Ottiene o imposta un valore che indica se l'opzione è abilitata o meno.

SwitchSetting

Ottiene o imposta il nome corrente per questa opzione.

(Ereditato da Switch)
Value

Ottiene o imposta il valore dell'opzione.

(Ereditato da Switch)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetSupportedAttributes()

Ottiene gli attributi personalizzati supportati dall'opzione.

(Ereditato da Switch)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnSwitchSettingChanged()

Viene richiamato quando si modifica la proprietà SwitchSetting.

(Ereditato da Switch)
OnValueChanged()

Determina se il nuovo valore della proprietà Value può essere analizzato come valore booleano.

OnValueChanged()

Viene richiamato quando si modifica la proprietà Value.

(Ereditato da Switch)
Refresh()

Aggiorna i dati configurazione di traccia.

(Ereditato da Switch)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche