属性を使用したメタデータの拡張

共通言語ランタイムでは、属性と呼ばれるキーワードに似た記述的な宣言を追加して、型、フィールド、メソッド、プロパティなどのプログラミング要素に注釈を付けることができます。 ランタイム用にコードをコンパイルすると、コードは Microsoft Intermediate Language (MSIL) に変換され、コンパイラによって生成されるメタデータと共に、ポータブル実行可能 (PE) ファイルに格納されます。 属性を使用すると、ランタイム リフレクション サービスで抽出できる記述的な情報をメタデータに追加できます。 属性は、System.Attribute から派生する特殊なクラスのインスタンスを宣言するときに、コンパイラによって作成されます。

.NET は、さまざまな理由で属性を使用し、多くの問題に対処します。 属性を使用して、データをシリアル化する方法を記述したり、セキュリティの適用に使用する特性を指定したりします。また、コードをデバッグしやすい状態に保つためにジャスト イン タイム (JIT) コンパイラによる最適化を制限する場合も、属性を使用します。 さらに、ファイル名やコードの作成者の記録、およびフォームの開発時にコントロールやメンバーを表示するかどうかの制御も、属性で指定します。

Title 説明
属性の適用 コードの要素に属性を適用する方法を説明します。
カスタム属性の記述 カスタム属性クラスをデザインする方法を説明します。
属性に格納されている情報の取得 実行コンテキストに読み込まれるコードのカスタム属性を取得する方法を説明します。
メタデータと自己言及的なコンポーネント メタデータの概要と、それが .NET のポータブル実行可能 (PE) ファイル内でどのように実装されるかについて説明します。
方法: リフレクションのみのコンテキストにアセンブリを読み込む」を参照してください。 リフレクションのみのコンテキストでカスタム属性情報を取得する方法を説明します。

関連項目