BooleanSwitch クラス

定義

デバッグとトレースの出力を制御する単純なオン/オフの切り替え機能を提供します。

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

次の例では、を作成 BooleanSwitch し、スイッチを使用してエラーメッセージを出力するかどうかを判断します。 スイッチはクラスレベルで作成します。 Mainメソッドは、その場所をに渡し MyMethod ます。これにより、エラーメッセージとエラーが発生した場所が出力されます。

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

注釈

ブール型のトレーススイッチを使用すると、重要度に基づいてメッセージを有効または無効にすることができます。 Enabledスイッチの現在の値を取得するには、プロパティを使用します。

アプリケーション構成ファイルを使用してを有効または無効にして BooleanSwitch から、アプリケーションで構成された値を使用でき BooleanSwitch ます。 または、 BooleanSwitch コード内にを作成し、プロパティを直接設定して、 Enabled コードの特定のセクションをインストルメント化することもできます。

を構成するには BooleanSwitch 、アプリケーションの名前に対応する構成ファイルを編集します。 このファイル内では、スイッチを追加または削除したり、スイッチの値を設定したり、アプリケーションによって以前に設定されたすべてのスイッチをクリアしたりできます。 構成ファイルは、次の例のように書式設定する必要があります。

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

この例の構成セクションでは、プロパティがに設定されたを定義し、 BooleanSwitch DisplayName mySwitch Enabled 値をに設定し true ます。 アプリケーション内で、 BooleanSwitch 次のコード例に示すように、同じ名前のを作成することによって、構成されたスイッチ値を使用できます。

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

既定では、 Enabled プロパティは、構成ファイルで指定された値を使用して設定されます。 プロパティをに設定するには、値を0に設定してスイッチを構成し Enabled false ます。プロパティをに設定するには、0以外の値を使用してスイッチを構成し 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 コマンドラインにフラグを追加します。

注意

分離されたでクラスを使用する場合、これらのデバッグおよびトレースコンパイラスイッチは必要ありません BooleanSwitch 。 これらのメソッドは、 Trace Debug 条件付きでコンパイルされたメソッドまたはメソッドと組み合わせて使用する必要があります。

アプリケーションのインストルメント化の詳細については、「」および「」を参照してください Debug Trace 。 トレーススイッチの構成と使用の詳細については、「 トレーススイッチ」を参照してください。

注意

パフォーマンスを向上させるには、 BooleanSwitch クラスのメンバーを作成し static ます。

コンストラクター

BooleanSwitch(String, String)

指定した表示名と説明を使用して、BooleanSwitch クラスの新しいインスタンスを初期化します。

BooleanSwitch(String, String, String)

指定した表示名、説明、および既定のスイッチ値を使用して、BooleanSwitch クラスの新しいインスタンスを初期化します。

プロパティ

Attributes

アプリケーション構成ファイルに定義されているカスタム スイッチ属性を取得します。

(継承元 Switch)
Description

スイッチの説明を取得します。

(継承元 Switch)
DisplayName

スイッチを識別するための名前を取得します。

(継承元 Switch)
Enabled

スイッチが有効であるか、または無効であるかを示す値を取得または設定します。

SwitchSetting

このスイッチの現在の設定を取得または設定します。

(継承元 Switch)
Value

スイッチの値を取得または設定します。

(継承元 Switch)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetSupportedAttributes()

スイッチによってサポートされるカスタム属性を取得します。

(継承元 Switch)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnSwitchSettingChanged()

SwitchSetting プロパティが変更されると発生します。

(継承元 Switch)
OnValueChanged()

Value プロパティの新しい値を、ブール値として解析可能かどうかを判別します。

OnValueChanged()

Value プロパティが変更されると発生します。

(継承元 Switch)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください