リフレクション クラスで使用されるデザイン パターン

System.Reflection 名前空間で最も一般的に使用されるメソッドは、1 つの一貫したパターンを使用します。ModuleTypeMemberInfo の各クラスのメンバは、次の表に示すデザイン パターンを使用します。

メンバ シグネチャ 説明

MyInstance[] FindXxx(filter, filterCriteria)

フィルタ処理された型のリストを検索し、返します。フィルタと一致する型が現在の型によって実装されていない場合は、空の配列を返します。

例 : System.Type.FindInterfaces(System.Reflection.TypeFilter,System.Object)

MyInstance GetXxx(<parameters>)

<parameters> で一意に指定された型を返します。該当する型が存在しない場合は、null 参照 (Visual Basic では Nothing) を返します。<parameters> には、一意のインスタンスを指定することに注意してください。

例 : System.Type.GetInterface(System.String)

MyInstance[] GetXxxs()

パブリックのすべての型を返します。パブリック型が存在しない場合は、空の配列を返します。

例 : System.Type.GetFields

MyInstance[] GetXxxs(<parameters>)

<parameters> で指定された型をすべて返します。該当する型が存在しない場合は、空の配列を返します。<parameters> には必ずしも一意のインスタンスを指定する必要がないことに注意してください。

もう 1 つの一般的なデザイン パターンは、デリゲートを使用したパターンです。一般に、デリゲートは、オブジェクト配列を返すメソッドの結果セットをフィルタ処理できるリフレクションで使用されます。

参照

概念

型情報の表示