エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

ConditionalAttribute クラス

2013/12/12

指定した条件付きコンパイルのシンボルが定義されていない限り、メソッド呼び出しまたは属性を無視するようにコンパイラに指示します。

System.Object
  System.Attribute
    System.Diagnostics.ConditionalAttribute

Namespace:  System.Diagnostics
アセンブリ:  mscorlib (mscorlib.dll 内)

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)]
public sealed class ConditionalAttribute : Attribute

ConditionalAttribute 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドConditionalAttributeConditionalAttribute クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティConditionStringConditionalAttribute 属性に関連付けられた条件付きコンパイル シンボルを取得します。
このページのトップへ

  名前説明
パブリック メソッドEqualsインフラストラクチャ。 対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドMatch派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

ConditionalAttribute 属性は、メソッドとクラスに適用できます。ただし、クラスに対する使用は、Attribute から派生した型に対してのみ有効です。それ以外の型に適用した場合、ConditionalAttribute は無視されるか、コンパイラの警告またはエラー メッセージが生成されます。

ConditionalAttribute をメソッドに適用すると、ConditionalAttribute に関連付けられた条件付きコンパイルのシンボルが定義されていない限り、そのメソッドへの呼び出しを Microsoft Intermediate Language (MSIL) にコンパイルしないようにコンパイラに指示することになります。ConditionalAttribute を属性に適用すると、条件付きコンパイルのシンボルが定義されていない限り、その属性をメタデータに出力しないようにコンパイラに指示することになります。メソッドまたは属性に渡される引数の型は、引き続きコンパイラによってチェックされます。

次のような手法を使用して、条件付きコンパイルのシンボルを定義できます。

  • コンパイラのコマンド ライン オプション (/define:DEBUG など)。

  • オペレーティング システムのシェルの環境変数 (set DEBUG=1 など)。

  • ソース コードのプラグマ (コンパイル変数を定義する #define DEBUG や、同変数を未定義状態にする #undef DEBUG など)。

共通言語仕様 (CLS: Common Language Specification) に準拠したコンパイラでは、ConditionalAttribute を無視することが許されています。C#、J#、および Visual Basic の各コンパイラは、ConditionalAttribute をサポートしていますが、C++ と JScript のコンパイラは、この属性をサポートしていません。

ConditionalAttribute は、Debug クラスで定義されるメソッドに適用されます。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2015 Microsoft