属性を使用したメタデータの拡張Extending Metadata Using Attributes

共通言語ランタイムでは、属性と呼ばれるキーワードに似た記述的な宣言を追加して、型、フィールド、メソッド、プロパティなどのプログラミング要素に注釈を付けることができます。The common language runtime allows you to add keyword-like descriptive declarations, called attributes, to annotate programming elements such as types, fields, methods, and properties. ランタイム用にコードをコンパイルすると、コードは Microsoft Intermediate Language (MSIL) に変換され、コンパイラによって生成されるメタデータと共に、ポータブル実行可能 (PE) ファイルに格納されます。When you compile your code for the runtime, it is converted into Microsoft intermediate language (MSIL) and placed inside a portable executable (PE) file along with metadata generated by the compiler. 属性を使用すると、ランタイム リフレクション サービスで抽出できる記述的な情報をメタデータに追加できます。Attributes allow you to place extra descriptive information into metadata that can be extracted using runtime reflection services. 属性は、System.Attribute から派生する特殊なクラスのインスタンスを宣言するときに、コンパイラによって作成されます。The compiler creates attributes when you declare instances of special classes that derive from System.Attribute.

.NET Framework では、属性がさまざまな理由と目的で使用されます。The .NET Framework uses attributes for a variety of reasons and to address a number of issues. 属性を使用して、データをシリアル化する方法を記述したり、セキュリティの適用に使用する特性を指定したりします。また、コードをデバッグしやすい状態に保つためにジャスト イン タイム (JIT) コンパイラによる最適化を制限する場合も、属性を使用します。Attributes describe how to serialize data, specify characteristics that are used to enforce security, and limit optimizations by the just-in-time (JIT) compiler so the code remains easy to debug. さらに、ファイル名やコードの作成者の記録、およびフォームの開発時にコントロールやメンバーを表示するかどうかの制御も、属性で指定します。Attributes can also record the name of a file or the author of code, or control the visibility of controls and members during forms development.

TitleTitle 説明Description
属性の適用Applying Attributes コードの要素に属性を適用する方法を説明します。Describes how to apply an attribute to an element of your code.
カスタム属性の記述Writing Custom Attributes カスタム属性クラスをデザインする方法を説明します。Describes how to design custom attribute classes.
属性に格納されている情報の取得Retrieving Information Stored in Attributes 実行コンテキストに読み込まれるコードのカスタム属性を取得する方法を説明します。Describes how to retrieve custom attributes for code that is loaded into the execution context.
メタデータと自己言及的なコンポーネントMetadata and Self-Describing Components メタデータの概要と、.NET Framework のポータブル実行可能 (PE) ファイル内でメタデータがどのように実装されるかを説明します。Provides an overview of metadata and describes how it is implemented in a .NET Framework portable executable (PE) file.
方法: リフレクションのみのコンテキストにアセンブリを読み込む」を参照してください。How to: Load Assemblies into the Reflection-Only Context リフレクションのみのコンテキストでカスタム属性情報を取得する方法を説明します。Explains how to retrieve custom attribute information in the reflection-only context.

辞書/辞典/その他Reference

System.Attribute