BooleanSwitch Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 MyMethod
elementu , 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 false
wartość .
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) |