導入
属性を使用すると、メタデータまたは宣言情報をコード (アセンブリ、型、メソッド、プロパティなど) に効率的に関連付けることができます。プロパティがプログラム エンティティに関連付けられると、リフレクションと呼ばれる手法を使用して実行時にクエリを実行できます。詳細は、コンパイラ ディレクティブやコメント、説明、メソッド、クラス、およびその他の情報などのメタデータを追加するために使用されます。.Net フレームワークは、定義済み属性とカスタム属性の 2 種類の属性を提供します。
簡単な要約: カスタム機能属性は、基本的に、ターゲット要素に関連付けられた追加情報を提供し、実行時に反射的な方法で追加情報を取得するクラスです。
共通機能
属性の使用法
The AttributeUsage attribute is used to control how to apply custom attributes to the target element. カスタム属性を変更するために使用できる 3 つのデータ属性があります。
ValidOn | 属性を配置できる言語要素を指定します。列挙子 AttributeTargets の値の組み合わせです。デフォルト値は AttributeTargets.All です。 |
---|---|
複数許可 | 装飾のために同じプログラム エンティティで複数の属性を同時に使用できるかどうかを定義します。 |
遺伝性の | 装飾されたクラスの派生クラスがカスタム属性の装飾を継承できるかどうかを定義します |
[AttributeUsage(validOn: AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public class HelpAttribute : Attribute { }
固有のものはクラスでのみ識別でき、同じクラスで使用できる属性は 1 つだけであり、カスタム属性の変更は変更されたクラスの派生クラスに継承できないことを示します。
フラグ
Flags属性で列挙値をビットフラグとして扱い、