Type.GetMethodImpl メソッド

定義

オーバーロード

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規則を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

派生クラスによってオーバーライドされた場合、指定したバインディング制約および指定した呼び出し規則を使用して、指定したメソッドのうち、指定した引数の型および修飾子と一致するパラメーターが設定されているものを検索します。When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

protected:
 abstract System::Reflection::MethodInfo ^ GetMethodImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetMethodImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo

パラメーター

name
String

取得するメソッドの名前を格納している文字列。The string containing the name of the method to get.

bindingAttr
BindingFlags

検索を実施する方法を指定する列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that specify how the search is conducted.

- または --or- null を返す場合は DefaultDefault to return null.

binder
Binder

一連のプロパティを定義し、バインディングを有効にするオブジェクト。バインディングには、オーバーロードされたメソッドの選択、引数の型の強制変換、リフレクションによるメンバーの呼び出しなどが含まれます。An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.

- または --or- Nothing を使用する場合は、null 参照 (Visual Basic の場合は DefaultBinder)。A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions

引数の順序とレイアウト、戻り値を渡す方法、引数を格納するレジスタ、スタックをクリーンアップするプロセスに関する一連の規則を指定するオブジェクト。The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and what process cleans up the stack.

types
Type[]

取得するメソッドのパラメーターの数、順序、および型を表す Type オブジェクトの配列。An array of Type objects representing the number, order, and type of the parameters for the method to get.

- または --or- パラメーターをとらないメソッドを取得するための、 Type 型の空の配列 (Type[] types = new Type[0])。An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

- または --or- nullnull. typesnull の場合、引数は一致していません。If types is null, arguments are not matched.

modifiers
ParameterModifier[]

types 配列内の対応する要素に関連付けられている属性を表す ParameterModifier オブジェクトの配列。An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. 既定のバインダーでは、このパラメーターは処理されません。The default binder does not process this parameter.

戻り値

指定した要件と一致するメソッドが存在する場合は、そのメソッドを表すオブジェクト。それ以外の場合は nullAn object representing the method that matches the specified requirements, if found; otherwise, null.

例外

指定した名前を持ち、指定されたバインド制約に一致する 2 つ以上のメソッドが存在します。More than one method is found with the specified name and matching the specified binding constraints.

namenull です。name is null.

types が多次元です。types is multidimensional.

- または --or- modifiers が多次元です。modifiers is multidimensional.

- または --or- typesmodifiers の長さが同じではありません。types and modifiers do not have the same length.

現在の型は TypeBuilder または GenericTypeParameterBuilder です。The current type is a TypeBuilder or GenericTypeParameterBuilder.

注釈

既定ParameterModifierのバインダーではmodifiers (パラメーター) は処理されませんが、抽象System.Reflection.Binderクラスを使用して、処理modifiersを実行するカスタムバインダーを書き込むことができます。Although the default binder does not process ParameterModifier (the modifiers parameter), you can use the abstract System.Reflection.Binder class to write a custom binder that does process modifiers. ParameterModifierは COM 相互運用機能を使用してを呼び出す場合にのみ使用され、参照によって渡されるパラメーターのみが処理されます。ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

typesnull の場合、引数は一致していません。If types is null, arguments are not matched.

BindingFlagsのフィルターフラグを使用して、検索に含めるメソッドを定義できます。The following BindingFlags filter flags can be used to define which methods to include in the search:

  • 戻り値を取得BindingFlags.InstanceするBindingFlags.Staticには、またはを指定する必要があります。You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • 検索BindingFlags.Publicにパブリックメソッドを含める場合は、を指定します。Specify BindingFlags.Public to include public methods in the search.

  • 検索BindingFlags.NonPublicに非パブリックメソッド (プライベート、内部、および保護されたメソッド) を含めるように指定します。Specify BindingFlags.NonPublic to include non-public methods (that is, private, internal, and protected methods) in the search.

  • BindingFlags.FlattenHierarchy指定するpublicprotected 、階層の上位にとの静的メンバーが追加されます。private継承されたクラスの静的メンバーは含まれません。Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

BindingFlagsの修飾子フラグを使用して、検索の動作を変更できます。The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCasename大文字と小文字を区別しない場合は。BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnlyで宣言されたメソッドだけをType検索する場合は。単純に継承されたメソッドではない場合。BindingFlags.DeclaredOnly to search only the methods declared on the Type, not methods that were simply inherited.

詳細については、「System.Reflection.BindingFlags」を参照してください。See System.Reflection.BindingFlags for more information.

こちらもご覧ください

GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

protected:
 virtual System::Reflection::MethodInfo ^ GetMethodImpl(System::String ^ name, int genericParameterCount, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, System::Reflection::CallingConventions callConvention, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected virtual System.Reflection.MethodInfo GetMethodImpl (string name, int genericParameterCount, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
override this.GetMethodImpl : string * int * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo

パラメーター

name
String
genericParameterCount
Int32
bindingAttr
BindingFlags
binder
Binder
callConvention
CallingConventions
types
Type[]
modifiers
ParameterModifier[]

戻り値

適用対象