BooleanSwitch Klasa

Definicja

Udostępnia prosty przełącznik (włączanie/wyłączanie), który steruje debugowaniem i śledzeniem danych wyjściowych.

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

Przykłady

Poniższy przykład tworzy element BooleanSwitch i używa przełącznika w celu określenia, czy wyświetlić komunikat o błędzie. Przełącznik jest tworzony na poziomie klasy. Metoda Main przekazuje jego lokalizację do MyMethodelementu , który wyświetla komunikat o błędzie i miejsce wystąpienia błędu.

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

Uwagi

Możesz użyć przełącznika śledzenia logicznego, aby włączyć lub wyłączyć komunikaty na podstawie ich znaczenia. Użyj właściwości , Enabled aby uzyskać bieżącą wartość przełącznika.

Możesz utworzyć element BooleanSwitch w kodzie i ustawić Enabled właściwość bezpośrednio w celu instrumentowania określonej sekcji kodu.

Tylko w przypadku aplikacji .NET Framework można włączyć lub wyłączyć BooleanSwitch za pośrednictwem pliku konfiguracji aplikacji, a następnie użyć skonfigurowanej BooleanSwitch wartości w aplikacji. Aby skonfigurować element , zmodyfikuj BooleanSwitchplik konfiguracji odpowiadający nazwie aplikacji. W tym pliku można dodać lub usunąć przełącznik, ustawić wartość przełącznika lub wyczyścić wszystkie przełączniki ustawione wcześniej przez aplikację. Plik konfiguracji powinien być sformatowany tak jak w poniższym przykładzie.

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

W tej przykładowej sekcji konfiguracji zdefiniowano BooleanSwitch element z właściwością ustawioną DisplayName na mySwitch i wartością ustawioną Enabled na true. W aplikacji .NET Framework można użyć skonfigurowanej wartości przełącznika, tworząc element BooleanSwitch o takiej samej nazwie, jak pokazano w poniższym przykładzie kodu.

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

W przypadku aplikacji Enabled .NET Core i .NET 5+ właściwość nowego przełącznika jest domyślnie ustawiona false .

W przypadku aplikacji Enabled .NET Framework właściwość jest ustawiana przy użyciu wartości określonej w pliku konfiguracji. Skonfiguruj przełącznik z wartością 0, aby ustawić Enabled właściwość na false; skonfiguruj przełącznik z wartością niezerową, aby ustawić Enabled właściwość na true. BooleanSwitch Jeśli konstruktor nie może odnaleźć ustawień przełącznika początkowego w pliku konfiguracji, Enabled właściwość nowego przełącznika jest ustawiona na falsewartość .

Aby użyć przełącznika, musisz włączyć śledzenie lub debugowanie. Następująca składnia jest specyficzna dla kompilatora. Jeśli używasz kompilatorów innych niż C# lub Visual Basic, zapoznaj się z dokumentacją kompilatora.

  • Aby włączyć debugowanie w języku C#, dodaj flagę /d:DEBUG do wiersza polecenia kompilatora podczas kompilowania kodu lub możesz dodać #define DEBUG go do góry pliku. W języku Visual Basic dodaj flagę /d:DEBUG=True do wiersza polecenia kompilatora.

  • Aby włączyć śledzenie w języku C#, dodaj flagę /d:TRACE do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj #define TRACE go do góry pliku. W języku Visual Basic dodaj flagę /d:TRACE=True do wiersza polecenia kompilatora.

Uwaga

Te przełączniki kompilatora debugowania i śledzenia nie są wymagane w przypadku korzystania z BooleanSwitch klasy w izolacji. Są one wymagane tylko w połączeniu z metodami Trace lub Debug , które są kompilowane warunkowo.

Aby uzyskać więcej informacji na temat instrumentowania aplikacji, zobacz Debug i Trace. Aby uzyskać więcej informacji na temat konfigurowania przełączników śledzenia i używania ich, zobacz Trace Switchs (Przełączniki śledzenia).

Uwaga

Aby poprawić wydajność, możesz tworzyć BooleanSwitch elementy członkowskie static w klasie.

Konstruktory

BooleanSwitch(String, String)

Inicjuje BooleanSwitch nowe wystąpienie klasy z określoną nazwą wyświetlaną i opisem.

BooleanSwitch(String, String, String)

Inicjuje BooleanSwitch nowe wystąpienie klasy z określoną nazwą wyświetlaną, opisem i wartością przełącznika domyślnego.

Właściwości

Attributes

Pobiera atrybuty przełącznika niestandardowego zdefiniowane w pliku konfiguracji aplikacji.

(Odziedziczone po Switch)
DefaultValue

Pobiera wartość domyślną przypisaną w konstruktorze.

(Odziedziczone po Switch)
Description

Pobiera opis przełącznika.

(Odziedziczone po Switch)
DisplayName

Pobiera nazwę używaną do identyfikowania przełącznika.

(Odziedziczone po Switch)
Enabled

Pobiera lub ustawia wartość wskazującą, czy przełącznik jest włączony, czy wyłączony.

SwitchSetting

Pobiera lub ustawia bieżące ustawienie dla tego przełącznika.

(Odziedziczone po Switch)
Value

Pobiera lub ustawia wartość przełącznika.

(Odziedziczone po Switch)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetSupportedAttributes()

Pobiera atrybuty niestandardowe obsługiwane przez przełącznik.

(Odziedziczone po Switch)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnSwitchSettingChanged()

Wywoływane po SwitchSetting zmianie właściwości.

(Odziedziczone po Switch)
OnValueChanged()

Określa, czy nowa wartość Value właściwości może być analizowana jako wartość logiczna.

OnValueChanged()

Wywoływane po Value zmianie właściwości.

(Odziedziczone po Switch)
Refresh()

Odświeża dane konfiguracji śledzenia.

(Odziedziczone po Switch)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też