MethodBuilder.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) メソッド


指定されたバインダーの制約下で、指定されたパラメーターを渡しつつ、指定されたオブジェクトのこのインスタンスによって反映されるメソッドを動的に呼び出します。Dynamically invokes the method reflected by this instance on the given object, passing along the specified parameters, and under the constraints of the given binder.

 override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj



指定したメソッドを呼び出す対象となるオブジェクト。The object on which to invoke the specified method. メソッドが静的である場合、このパラメーターは無視されます。If the method is static, this parameter is ignored.


これは BindingFlagsInvokeMethod など、NonPublic からのビット フラグでなければなりません。This must be a bit flag from BindingFlags : InvokeMethod, NonPublic, and so on.


バインディング、引数型の強制変換、メンバーの呼び出し、リフレクションによる MemberInfo オブジェクトの取得を有効にするオブジェクト。An object that enables the binding, coercion of argument types, invocation of members, and retrieval of MemberInfo objects via reflection. バインダーが null の場合は、既定のバインダーが使用されます。If binder is null, the default binder is used. 詳細については、「Binder」を参照してください。For more details, see Binder.


引数リスト。An argument list. これは、呼び出されるメソッドのパラメーターと同じ数、順序、型の引数の配列です。This is an array of arguments with the same number, order, and type as the parameters of the method to be invoked. パラメーターがない場合は、これは null である必要があります。If there are no parameters this should be null.


型の強制変換を制御するために使用する CultureInfo のインスタンス。An instance of CultureInfo used to govern the coercion of types. null の場合は、現在のスレッドの CultureInfo が使用されます。If this is null, the CultureInfo for the current thread is used. (これは、1000 を表す StringDouble 値に変換する場合などに必要です。カルチャによって 1000 の表記が異なるためです。)(Note that this is necessary to, for example, convert a String that represents 1000 to a Double value, since 1000 is represented differently by different cultures.)


呼び出されたメソッドの戻り値を格納するオブジェクトを返します。Returns an object containing the return value of the invoked method.



メソッドが静的である場合、obj パラメーターは無視されます。If the method is static, the obj parameter is ignored. 非静的メソッドの場合、obj は、メソッドを継承または宣言するクラスのインスタンスであり、このクラスと同じ型である必要があります。For non-static methods, obj should be an instance of a class that inherits or declares the method and must be the same type as this class. メソッドにパラメーターがない場合は、parameters の値を nullする必要があります。If the method has no parameters, the value of parameters should be null. それ以外の場合、parameters 配列内の要素の数、型、および順序は、このインスタンスによってリフレクションされるメソッドのパラメーターの数、型、および順序と同じである必要があります。Otherwise the number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the method reflected by this instance.


完全に信頼されたコードでは、アクセス制限は無視されます。Access restrictions are ignored for fully-trusted code. つまり、プライベートコンストラクター、メソッド、フィールド、およびプロパティには、コードが完全に信頼されている場合は常に、リフレクションを使用してアクセスし、呼び出すことができます。That is, private constructors, methods, fields, and properties can be accessed and invoked using Reflection whenever the code is fully-trusted.