Type.GetMethodImpl Metoda

Definice

Přetížení

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

Při přepsání v odvozené třídě vyhledá zadanou metodu, jejíž parametry odpovídají zadaným typům a modifikátorům argumentů, pomocí zadaných omezení vazby a zadané konvence volání.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[])

Při přepsání v odvozené třídě vyhledá zadanou metodu, jejíž parametry odpovídají zadanému počtu obecných parametrů, typům argumentů a modifikátorům pomocí zadaných omezení vazby a zadané konvence volání.When overridden in a derived class, searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints and the specified calling convention.

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

Při přepsání v odvozené třídě vyhledá zadanou metodu, jejíž parametry odpovídají zadaným typům a modifikátorům argumentů, pomocí zadaných omezení vazby a zadané konvence volání.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);
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
Protected MustOverride Function GetMethodImpl (name As String, bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As MethodInfo

Parametry

name
String

Řetězec obsahující název metody, která má být získána.The string containing the name of the method to get.

bindingAttr
BindingFlags

Bitová kombinace hodnot výčtu, které určují, jak se provádí hledání.A bitwise combination of the enumeration values that specify how the search is conducted.

-nebo--or- Default pro návrat null .Default to return null.

binder
Binder

Objekt, který definuje sadu vlastností a umožňuje vázání, jež může zahrnovat výběr přetěžované metody, vynucení typů argumentů a vyvolání členu prostřednictvím reflexe.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.

-nebo--or- Odkaz s hodnotou null ( Nothing v Visual Basic) pro použití DefaultBinder .A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions

Objekt, který určuje sadu pravidel, která se má použít pro pořadí a rozložení argumentů, způsob předání návratové hodnoty, jaké Registry se používají pro argumenty a jaký proces vyčistí zásobník.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[]

Pole Type objektů představujících počet, pořadí a typ parametrů pro metodu, která má být získána.An array of Type objects representing the number, order, and type of the parameters for the method to get.

-nebo--or- Prázdné pole typu Type (to znamená typ [] typy = nový typ [0]) k získání metody, která nepřijímá žádné parametry.An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

-nebo--or- null.null. V takovém případě se types null argumenty neshodují.If types is null, arguments are not matched.

modifiers
ParameterModifier[]

Pole ParameterModifier objektů reprezentující atributy přidružené k odpovídajícímu prvku v types poli.An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Výchozí vázací objekt tento parametr nezpracovává.The default binder does not process this parameter.

Návraty

MethodInfo

Objekt představující metodu, která odpovídá zadaným požadavkům, pokud byla nalezena; v opačném případě null .An object representing the method that matches the specified requirements, if found; otherwise, null.

Výjimky

Byla nalezena více než jedna metoda se zadaným názvem, která odpovídá zadaným omezením vazby.More than one method is found with the specified name and matching the specified binding constraints.

name je null.name is null.

Pole types je multidimenzionální.types is multidimensional.

-nebo--or- Pole modifiers je multidimenzionální.modifiers is multidimensional.

-nebo--or- types a nemají modifiers stejnou délku.types and modifiers do not have the same length.

Poznámky

I když výchozí pořadač nezpracovává ParameterModifier ( modifiers parametr), můžete použít abstraktní System.Reflection.Binder třídu k zápisu vlastního pořadače, který zpracovává proces 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 se používá pouze při volání prostřednictvím zprostředkovatele komunikace s objekty COM a jsou zpracovávány pouze parametry, které jsou předány odkazem.ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

V takovém případě se types null argumenty neshodují.If types is null, arguments are not matched.

Následující BindingFlags příznaky filtru lze použít k definování metod, které mají být zahrnuty do hledání:The following BindingFlags filter flags can be used to define which methods to include in the search:

  • BindingFlags.Instance BindingFlags.Static Chcete-li získat návrat, je nutné zadat buď nebo.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • Zadejte, BindingFlags.Public Chcete-li do hledání zahrnout veřejné metody.Specify BindingFlags.Public to include public methods in the search.

  • Určete, BindingFlags.NonPublic jestli se ve vyhledávání mají zahrnout neveřejné metody (tj. privátní, interní a chráněné metody).Specify BindingFlags.NonPublic to include non-public methods (that is, private, internal, and protected methods) in the search.

  • Určete, BindingFlags.FlattenHierarchy že se mají zahrnout public a protected statické členy v hierarchii. private statické členy v děděných třídách nejsou zahrnuté.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

Následující BindingFlags příznaky modifikátoru lze použít ke změně toho, jak hledání funguje:The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase pro ignorování velkých a malých písmen name .BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnly Chcete-li hledat pouze metody deklarované v Type , nikoli metody, které byly jednoduše zděděny.BindingFlags.DeclaredOnly to search only the methods declared on the Type, not methods that were simply inherited.

Další informace naleznete v tématu System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Viz také

Platí pro

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

Při přepsání v odvozené třídě vyhledá zadanou metodu, jejíž parametry odpovídají zadanému počtu obecných parametrů, typům argumentů a modifikátorům pomocí zadaných omezení vazby a zadané konvence volání.When overridden in a derived class, searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints and the specified calling convention.

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);
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
Protected Overridable Function GetMethodImpl (name As String, genericParameterCount As Integer, bindingAttr As BindingFlags, binder As Binder, callConvention As CallingConventions, types As Type(), modifiers As ParameterModifier()) As MethodInfo

Parametry

name
String

Řetězec obsahující název metody, která má být získána.The string containing the name of the method to get.

genericParameterCount
Int32

Počet parametrů obecného typu metody.The number of generic type parameters of the method.

bindingAttr
BindingFlags

Bitová kombinace hodnot výčtu, které určují, jak se provádí hledání.A bitwise combination of the enumeration values that specify how the search is conducted.

-nebo--or-

Default pro návrat null .Default to return null.

binder
Binder

Objekt, který definuje sadu vlastností a umožňuje vázání, jež může zahrnovat výběr přetěžované metody, vynucení typů argumentů a vyvolání členu prostřednictvím reflexe.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.

-nebo--or-

Odkaz s hodnotou null ( Nothing v Visual Basic) pro použití DefaultBinder .A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions

Objekt, který určuje sadu pravidel, která se má použít pro pořadí a rozložení argumentů, způsob předání návratové hodnoty, jaké Registry se používají pro argumenty a jaký proces vyčistí zásobník.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[]

Pole Type objektů představujících počet, pořadí a typ parametrů pro metodu, která má být získána.An array of Type objects representing the number, order, and type of the parameters for the method to get.

-nebo--or-

Prázdné pole typu Type (to znamená typ [] typy = nový typ [0]) k získání metody, která nepřijímá žádné parametry.An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

-nebo--or-

null.null. V takovém případě se types null argumenty neshodují.If types is null, arguments are not matched.

modifiers
ParameterModifier[]

Pole ParameterModifier objektů reprezentující atributy přidružené k odpovídajícímu prvku v types poli.An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Výchozí vázací objekt tento parametr nezpracovává.The default binder does not process this parameter.

Návraty

MethodInfo

Objekt představující metodu, která odpovídá zadanému počtu obecných parametrů, typům argumentů, modifikátorům, omezením vazby a konvenci volání, pokud je nalezena; v opačném případě null .An object representing the method that matches the specified generic parameter count, argument types, modifiers, binding constraints and calling convention, if found; otherwise, null.

Výjimky

Metoda musí být přepsaná a volána v odvozené třídě.The method needs to be overriden and called in a derived class.

Platí pro