BooleanSwitch Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet einen EIN/AUS-Schalter, der die Debugging- und Ablaufverfolgungsausgabe steuert.
public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
inherit Switch
Public Class BooleanSwitch
Inherits Switch
- Vererbung
Beispiele
Im folgenden Beispiel wird ein BooleanSwitch erstellt und mithilfe des Schalters ermittelt, ob eine Fehlermeldung ausgegeben werden soll. Sie erstellen den Switch auf Klassenebene. Die Main
-Methode übergibt ihren Speicherort an MyMethod
, der eine Fehlermeldung ausgibt und an der Stelle, an der der Fehler aufgetreten ist.
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
Hinweise
Sie können einen booleschen Ablaufverfolgungsschalter verwenden, um Nachrichten basierend auf ihrer Wichtigkeit zu aktivieren oder zu deaktivieren. Verwenden Sie die Enabled -Eigenschaft, um den aktuellen Wert des Switches abzurufen.
Sie können einen BooleanSwitch in Ihrem Code erstellen und die Enabled Eigenschaft direkt festlegen, um einen bestimmten Codeabschnitt zu instrumentieren.
Nur für .NET Framework Apps können Sie eine BooleanSwitch über die Anwendungskonfigurationsdatei aktivieren oder deaktivieren und dann den konfigurierten BooleanSwitch Wert in Ihrer Anwendung verwenden. Um ein BooleanSwitchzu konfigurieren, bearbeiten Sie die Konfigurationsdatei, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie einen Switch hinzufügen oder entfernen, den Wert eines Switches festlegen oder alle zuvor von der Anwendung festgelegten Schalter löschen. Die Konfigurationsdatei sollte wie im folgenden Beispiel formatiert sein.
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>
</configuration>
In diesem Beispielkonfigurationsabschnitt wird ein BooleanSwitch definiert, wobei die DisplayName Eigenschaft auf mySwitch
und der Enabled Wert auf festgelegt ist true
. In Ihrer .NET Framework Anwendung können Sie den konfigurierten Switchwert verwenden, indem Sie einen BooleanSwitch mit demselben Namen erstellen, wie im folgenden Codebeispiel gezeigt.
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
Für .NET Core- und .NET 5+-Apps ist die Enabled Eigenschaft des neuen Switches standardmäßig auf false
festgelegt.
Für .NET Framework Apps wird die Enabled -Eigenschaft mithilfe des in der Konfigurationsdatei angegebenen Werts festgelegt. Konfigurieren Sie den Switch mit dem Wert 0, um die Enabled -Eigenschaft auf false
festzulegen. Konfigurieren Sie den Switch mit einem nonzero-Wert, um die Enabled -Eigenschaft auf true
festzulegen. Wenn der BooleanSwitch Konstruktor keine anfänglichen Switcheinstellungen in der Konfigurationsdatei finden kann, wird die Enabled Eigenschaft des neuen Switches auf false
festgelegt.
Sie müssen die Ablaufverfolgung oder das Debuggen aktivieren, um einen Switch verwenden zu können. Die folgende Syntax ist compilerspezifisch. Wenn Sie andere Compiler als C# oder Visual Basic verwenden, lesen Sie die Dokumentation für Ihren Compiler.
Um das Debuggen in C# zu aktivieren, fügen Sie das
/d:DEBUG
Flag der Compiler-Befehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder Sie können die Datei oben hinzufügen#define DEBUG
. Fügen Sie in Visual Basic der Compiler-Befehlszeile das/d:DEBUG=True
Flag hinzu.Um die Ablaufverfolgung in C# zu aktivieren, fügen Sie das
/d:TRACE
Flag der Compilerbefehlszeile hinzu, wenn Sie Ihren Code kompilieren, oder fügen Sie das Flag am Anfang der Datei hinzu#define TRACE
. Fügen Sie in Visual Basic der Compiler-Befehlszeile das/d:TRACE=True
Flag hinzu.
Hinweis
Diese Debug- und Ablaufverfolgungscompilerschalter sind nicht erforderlich, wenn die Klasse in isolationsgesteuert BooleanSwitch verwendet wird. Sie sind nur in Verbindung mit Trace oder-Methoden Debug erforderlich, die bedingt kompiliert werden.
Weitere Informationen zur Instrumentierung Ihrer Anwendung finden Sie unter Debug und Trace. Weitere Informationen zum Konfigurieren und Verwenden von Ablaufverfolgungsschaltern finden Sie unter Ablaufverfolgungsschalter.
Hinweis
Um die Leistung zu verbessern, können Sie Mitglieder static
in Ihrer Klasse erstellenBooleanSwitch.
Konstruktoren
BooleanSwitch(String, String) |
Initialisiert eine neue Instanz der BooleanSwitch-Klasse mit dem angegebenen Anzeigenamen und der angegebenen Beschreibung. |
BooleanSwitch(String, String, String) |
Initialisiert eine neue Instanz der BooleanSwitch-Klasse mit dem angegebenen Anzeigenamen, der angegebenen Beschreibung und dem angegebenen Standardschalterwert. |
Eigenschaften
Attributes |
Ruft die benutzerdefinierten Schalterattribute ab, die in der Anwendungskonfigurationsdatei definiert sind. (Geerbt von Switch) |
DefaultValue |
Ruft den im Konstruktor zugewiesenen Standardwert ab. (Geerbt von Switch) |
Description |
Ruft eine Beschreibung des Schalters ab. (Geerbt von Switch) |
DisplayName |
Ruft einen Namen zum Bezeichnen des Schalters ab. (Geerbt von Switch) |
Enabled |
Ruft einen Wert ab, der angibt, ob der Schalter aktiviert oder deaktiviert ist, oder legt diesen fest. |
SwitchSetting |
Ruft die aktuelle Einstellung des Schalters ab oder legt diese fest. (Geerbt von Switch) |
Value |
Ruft den Wert des Schalters ab oder legt diesen fest. (Geerbt von Switch) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetSupportedAttributes() |
Ruft die benutzerdefinierten Attribute ab, die vom Schalter unterstützt werden. (Geerbt von Switch) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnSwitchSettingChanged() |
Wird aufgerufen, wenn die SwitchSetting-Eigenschaft geändert wird. (Geerbt von Switch) |
OnValueChanged() |
Bestimmt, ob der neue Wert der Value-Eigenschaft als boolescher Wert analysiert werden kann. |
OnValueChanged() |
Wird aufgerufen, wenn die Value-Eigenschaft geändert wird. (Geerbt von Switch) |
Refresh() |
Aktualisiert die Konfigurationsdaten für die Ablaufverfolgung. (Geerbt von Switch) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |