BooleanSwitch 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的開/關開關,用來控制偵錯和追蹤輸出。
public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
inherit Switch
Public Class BooleanSwitch
Inherits Switch
- 繼承
範例
以下範例建立 並 BooleanSwitch 利用開關判斷是否要列印錯誤訊息。 你在階級層級創造了這個開關。 該 Main 方法將其位置傳給 MyMethod,該會印出錯誤訊息及錯誤發生的位置。
// 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
備註
你可以使用布林追蹤開關來根據訊息的重要性啟用或停用訊息。 利用該 Enabled 屬性取得交換器的當前值。
你可以在程式碼中建立 , BooleanSwitch 並直接設定 Enabled 屬性來安裝特定程式碼區段。
僅限於 .NET Framework 應用程式,你也可以透過應用程式設定檔啟用或停用 , BooleanSwitch 然後在應用程式中使用設定 BooleanSwitch 值。 要設定 , BooleanSwitch請編輯與你應用程式名稱對應的設定檔。 在這個檔案中,你可以新增或移除開關、設定開關的值,或清除應用程式先前設定的所有開關。 設定檔的格式應如以下範例所示。
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>
</configuration>
此範例配置區段定義 a,屬性BooleanSwitch設為 ,DisplayNamemySwitch值設為 Enabled。true 在你的 .NET Framework 應用程式中,你可以透過建立同名的 switch BooleanSwitch 來使用已設定的 switch 值,如下述範例所示。
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
對於 .NET Core 和 .NET 5+ 應用程式,Enabled新交換器的屬性預設為 。false
對於 .NET Framework 應用程式,屬性 Enabled 是根據設定檔中指定的值設定的。 將交換器設定為 0 以設定 Enabled 屬性為 false;將交換器設定為非零值以設定 Enabled 屬性為 true。 如果 BooleanSwitch 建構子無法在設定檔中找到初始開關設定,則 Enabled 新開關的屬性會被設定為 false。
您必須啟用追蹤或偵錯,才能使用 參數。 以下語法是編譯器專屬的。 如果你使用非 C# 或 Visual Basic 的編譯器,請參考你編譯器的文件。
要啟用 C# 除錯,編譯時在編譯器命令列加入
/d:DEBUG旗標,或者你可以在檔案頂端新增#define DEBUG標記。 在 Visual Basic 中,將旗標加入/d:DEBUG=True編譯器命令列。要啟用 C# 的追蹤,編譯程式碼時可以在編譯器命令列加入
/d:TRACE該標誌,或在檔案頂端新增#define TRACE標記。 在 Visual Basic 中,將旗標加入/d:TRACE=True編譯器命令列。
Note
隔離使用 BooleanSwitch 類別時,不需要這些偵錯和追蹤編譯程序參數。 它們只需要與條件式編譯的 Trace 或 Debug 方法搭配使用。
如需偵測應用程式的詳細資訊,請參閱 Debug 和 Trace。 如需設定與使用追蹤參數的詳細資訊,請參閱 追蹤參數。
Note
若要改善效能,您可以在類別中 BooleanSwitchstatic 成員。
建構函式
| 名稱 | Description |
|---|---|
| BooleanSwitch(String, String, String) |
初始化一個新的類別實例 BooleanSwitch ,並以指定的顯示名稱、描述及預設交換器值。 |
| BooleanSwitch(String, String) |
初始化一個以指定顯示名稱與描述的新類別實例 BooleanSwitch 。 |
屬性
| 名稱 | Description |
|---|---|
| Attributes |
取得應用程式組態檔中定義的自定義參數屬性。 (繼承來源 Switch) |
| DefaultValue |
取得建構函式中指派的預設值。 (繼承來源 Switch) |
| Description |
取得參數的描述。 (繼承來源 Switch) |
| DisplayName |
取得用來識別參數的名稱。 (繼承來源 Switch) |
| Enabled |
取得或設定一個值,表示開關是否啟用或停用。 |
| SwitchSetting |
取得或設定這個參數的目前設定。 (繼承來源 Switch) |
| Value |
取得或設定 參數的值。 (繼承來源 Switch) |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetSupportedAttributes() |
取得 參數支援的自定義屬性。 (繼承來源 Switch) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| OnSwitchSettingChanged() |
當屬性變更時 SwitchSetting 會被啟動。 (繼承來源 Switch) |
| OnValueChanged() |
判斷該屬性的新值 Value 是否能解析為布林值。 |
| Refresh() |
重新整理追蹤組態數據。 (繼承來源 Switch) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |