Visual Basic における属性
更新 : 2007 年 11 月
属性は、型、フィールド、メソッド、プロパティなどのプログラミング要素に関する追加情報を表す、説明的なタグです。Visual Basic コンパイラなどの他のアプリケーションでは、属性の補足情報を参照して、これらの項目の使用方法を判断できます。
属性とメタデータ
属性は、Visual Basic アセンブリのメタデータと共に保存されます。メタデータは、ランタイムで管理される要素を説明する情報です。デバッグやガベージ コレクションに必要な情報、セキュリティ属性、マーシャリング データ、拡張クラスとメンバの定義、バージョン連結、ランタイムに必要なその他の情報などが含まれます。
属性を使用して、Public や Private などのキーワードでアクセス レベルに関する情報を指定するのと同じ方法で、メタデータを指定します。ただし、キーワードの場合とは異なり、ほとんどの属性は言語に固有ではありません。属性を使用すると、コンパイラを変更することなく、Visual Basic 言語の機能を拡張できます。
.NET Framework および Visual Basic 言語は、多数の有益な属性を定義できます。また、アプリケーションに対して有効な独自のカスタム属性を定義することもできます。カスタム属性は、System.Attribute クラスに基づいており、AttributeUsageAttribute 属性を使用して、属性の使用方法に関する追加情報を提供しています。
属性の機能
属性についてはいくつかの重要な点があります。
アセンブリ全体、モジュール全体、クラスやプロパティなどの小さいプログラム要素に、1 つ以上の属性を適用できます。
属性は、メソッドやプロパティの場合と同じ方法で引数を受け取ることができます。
属性からメタデータを取得するプロセスは、リフレクションと呼ばれます。リフレクションでは、オブジェクトがメンバに関するメタデータを取得およびチェックできるツールを使用します。詳細については、「リフレクションのサンプル」を参照してください。