TypeBuilder.InvokeMember メソッド

定義

指定したメンバーを呼び出します。 呼び出すメソッドは、指定されたバインダーおよび呼び出し属性の制約の下で、アクセス可能であり、指定された引数リストとの最も具体的な一致を提供する必要があります。

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object InvokeMember(string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

パラメーター

name
String

呼び出すメンバーの名前。 コンストラクター、メソッド、プロパティ、またはフィールドを指定できます。 適切な呼び出し属性を指定する必要があります。 空の文字列をメンバーの名前として渡すことで、クラスの既定のメンバーを呼び出すことができます。

invokeAttr
BindingFlags

呼び出し属性。 これは、 BindingFlagsからのビット フラグである必要があります。

binder
Binder

バインディング、引数型の強制変換、メンバーの呼び出し、リフレクションを使用した MemberInfo オブジェクトの取得を可能にするオブジェクト。 バインダーが null場合は、既定のバインダーが使用されます。 Binderを参照してください。

target
Object

指定したメンバーを呼び出すオブジェクト。 メンバーが静的な場合、このパラメーターは無視されます。

args
Object[]

引数リスト。 これは、呼び出されるメンバーのパラメーターの数、順序、および型を含む Objects の配列です。 パラメーターがない場合は null にする必要があります。

modifiers
ParameterModifier[]

呼び出されるメンバーの引数に関連付けられた属性を表す要素を持つ args と同じ長さの配列。 パラメーターには、メタデータ内の属性が関連付けられています。 これらは、さまざまな相互運用性サービスで使用されます。 詳細については、メタデータ の仕様を参照してください。

culture
CultureInfo

型の強制型の制御に使用 CultureInfo のインスタンス。 これが null の場合、現在のスレッドの CultureInfo が使用されます。 (これは、たとえば、1000 を表す文字列を Double 値に変換する必要があることに注意してください。これは、1000 が異なるカルチャによって異なる方法で表されるためです)。

namedParameters
String[]

namedParameters配列の各パラメーターは、args配列内の対応する要素の値を取得します。 argsの長さがnamedParametersの長さを超える場合、残りの引数値は順番に渡されます。

返品

呼び出されたメンバーの戻り値を返します。

例外

このメソッドは、不完全な型では現在サポートされていません。

注釈

メソッド宣言内のパラメーターの数が指定した引数リスト内の引数の数と等しく、各引数の型をバインダーによってパラメーターの型に変換できる場合、メソッドが呼び出されます。

バインダーは、一致するすべてのメソッドを検索します。 これらのメソッドは、要求されたバインディングの種類 (BindingFlags.InvokeMethod、BindingFlags.GetProperties など) に基づいて見つかります。 メソッドのセットは、名前、引数の数、およびバインダーで定義されている検索修飾子のセットによってフィルター処理されます。 メソッドが選択されると、呼び出されます。 その時点でアクセシビリティがチェックされます。 検索では、メソッドに関連付けられているアクセシビリティ属性に基づいて、検索するメソッドのセットを制御できます。 IBinder.BindToMethod メソッドは、呼び出すメソッドを選択します。 既定のバインダーは、最も具体的な一致を選択します。

Note

完全に信頼されたコードでは、アクセス制限は無視されます。 つまり、プライベート コンストラクター、メソッド、フィールド、およびプロパティは、コードが完全に信頼されるたびに Reflection を使用してアクセスおよび呼び出すことができます。

このメソッドは現在サポートされていません。 Type.GetTypeまたはAssembly.GetTypeを使用して型を取得し、取得した型でリフレクションを使用できます。

適用対象