メタデータの取得に用いられるクラスは、いくつかあります。これらは、アセンブリや型やメンバー ( フィールド、プロパティ、イベント、コンストラクタ、メソッド ) などに対応して用意されているので、わかりやすくなっています。
Assembly クラス (System.Reflection)
アセンブリを表します。
Module クラス (System.Reflection)
モジュールを表します。
Type クラス (System)
型を表します。型とはクラスとインターフェイスです。構造体,列挙型,デリゲートなどもクラスの一種であり、Typeクラスで表されます。
MemberInfo クラス (System.Reflection)
ク ラスのメンバ ( フィールド、プロパティ、コンストラクタ、メソッド、イベント ) を表します。このクラスは、FieldInfoクラス、PropertyInfoクラス、EventInfoクラス、 MethodBaseクラスの基本クラスです。また、Typeクラスの基本クラスでもあることに注意します。
FieldInfo クラス (System.Reflection)
フィールドを表します。
PropertyInfo クラス (System.Reflection)
プロパティを表します。
EventInfo クラス (System.Reflection)
イベントを表します。
MethodBase クラス (System.Reflection)
コンストラクタとメソッドを表します。このクラスは、ConstructorInfoクラス、MethodInfoクラスの基本クラスです。
ConstructorInfo クラス (System.Reflection)
コンストラクタを表します。
MethodInfo クラス (System.Reflection)
メソッドを表します。
それぞれの継承関係は以下のようになります。
□ System.Object
├─□ System.Reflection.Assembly
├─□ System.Reflection.Module
└─□ System.Reflection.MemberInfo
├─□ System.Type
├─□ System.Reflection.FieldInfo
├─□ System.Reflection.PropertyInfo
├─□ System.Reflection.EventInfo
└─□ System.Reflection.MethodBase
├─□ System.Reflection.ConstructorInfo
└─□ System.Reflection.MethodInfo
今回はここまでです。次回は、型情報の取得について解説します。