TypeBuilder.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) TypeBuilder.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) TypeBuilder.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) Method

定義

指定したメンバーを呼び出します。Invokes the specified member. 呼び出すメソッドはアクセス可能でなければならず、指定したバインダーと呼び出し属性の制約の下で、指定された引数リストに対する一致の特定性が最高のものでなければなりません。The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes.

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

パラメーター

name
String String String

呼び出すメンバーの名前。The name of the member to invoke. コンストラクター、メソッド、プロパティ、またはフィールドを指定できます。This can be a constructor, method, property, or field. 適切な呼び出し属性を指定する必要があります。A suitable invocation attribute must be specified. メンバーの名前として空の文字列を渡すことによって、クラスの既定のメンバーを呼び出せることにご注意ください。Note that it is possible to invoke the default member of a class by passing an empty string as the name of the member.

invokeAttr
BindingFlags BindingFlags BindingFlags

呼び出し属性。The invocation attribute. これは BindingFlags からのビット フラグでなければなりません。This must be a bit flag from BindingFlags.

binder
Binder Binder Binder

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

target
Object Object Object

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

args
Object[]

引数リスト。An argument list. これは、呼び出されるメンバーのパラメーターの数、順序、および型を含むオブジェクトの配列です。This is an array of Objects that contains the number, order, and type of the parameters of the member to be invoked. パラメーターがない場合は、これは null である必要があります。If there are no parameters this should be null.

modifiers
ParameterModifier[]

args と同じ長さの配列であり、その要素は、呼び出されるメンバーの引数に関連付けられた属性を表します。An array of the same length as args with elements that represent the attributes associated with the arguments of the member to be invoked. メタデータの中でパラメーターには属性が関連付けられています。A parameter has attributes associated with it in the metadata. これらは、さまざまな相互運用サービスで使用されます。They are used by various interoperability services. 詳細については、メタデータの仕様を参照してください。See the metadata specs for more details.

culture
CultureInfo CultureInfo CultureInfo

型の強制変換を制御するために使用する 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 を表す String を Double 値に変換する場合に必要であることに注意ください。これは、カルチャによって 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.)

namedParameters
String[]

namedParameters 配列の各パラメーターは、args 配列内の対応する要素の値を取得します。Each parameter in the namedParameters array gets the value in the corresponding element in the args array. args の長さが namedParameters の長さより大きい場合、残りの引数の値は順番に渡されます。If the length of args is greater than the length of namedParameters, the remaining argument values are passed in order.

戻り値

呼び出されたメンバーの戻り値を返します。Returns the return value of the invoked member.

例外

不完全な型では、このメソッドは現在サポートされていません。This method is not currently supported for incomplete types.

注釈

メソッド宣言のパラメーターの数が、指定された引数リスト内の引数の数と等しい場合、メソッドが呼び出されます。また、バインダーによって各引数の型をパラメーターの型に変換できます。A method will be invoked if the number of parameters in the method declaration equals the number of arguments in the specified argument list, and the type of each argument can be converted by the binder to the type of the parameter.

バインダーは、一致するすべてのメソッドを検索します。The binder will find all of the matching methods. これらのメソッドは、要求されたバインディングの種類 (Bindingflag、Bindingflag など) に基づいています。These methods are found based on the type of binding requested (BindingFlags.InvokeMethod, BindingFlags.GetProperties, and so on.). メソッドのセットは、バインダーで定義されている名前、引数の数、および一連の検索修飾子によってフィルター処理されます。The set of methods is filtered by the name, number of arguments, and a set of search modifiers defined in the binder. メソッドが選択されると、呼び出されます。After the method is selected, it will be invoked. その時点でアクセシビリティがチェックされます。Accessibility is checked at that point. 検索では、メソッドに関連付けられているアクセシビリティ属性に基づいて、検索されるメソッドのセットを制御できます。The search can control which set of methods are searched based upon the accessibility attribute associated with the method. IBinder.BindToMethodメソッドは、呼び出されるメソッドを選択する役割を担います。The IBinder.BindToMethod method is responsible for selecting the method to be invoked. 既定のバインダーでは、最も限定的な一致が選択されます。The default binder selects the most specific match.

注意

完全に信頼されたコードでは、アクセス制限は無視されます。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.

このメソッドは現在サポートされていません。This method is not currently supported. またはType.GetType Assembly.GetTypeを使用して型を取得し、取得した型に対してリフレクションを使用できます。You can retrieve the type using Type.GetType or Assembly.GetType and use reflection on the retrieved type.

適用対象