Type.GetMethodImpl Metoda

Definice

Přetížení

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 vazeb omezení a zadané konvence volání.

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 argumentů a modifikátorům, pomocí zadaných vazeb omezení a zadané konvence volání.

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

Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs

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 vazeb omezení a zadané konvence volání.

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.

genericParameterCount
Int32

Počet parametrů obecného typu metody.

bindingAttr
BindingFlags

Bitové kombinace hodnot výčtu, které určují způsob provedení hledání.

-nebo-

Defaulta vrátí .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.

-nebo-

Nulový odkaz (Nothing v jazyce Visual Basic) pro použití .DefaultBinder

callConvention
CallingConventions

Objekt, který určuje sadu pravidel, která se mají použít, pokud jde o pořadí a rozložení argumentů, jak je vrácená hodnota předána, jaké registry se používají pro argumenty a jaký proces vyčistí zásobník.

types
Type[]

Pole Type objektů představující počet, pořadí a typ parametrů, které má metoda získat.

-nebo-

Prázdné pole typu Type (to znamená Type[] types = new Type[0]) pro získání metody, která nepřijímá žádné parametry.

-nebo-

null. Pokud types je nullhodnota , argumenty se neshodují.

modifiers
ParameterModifier[]

Pole ParameterModifier objektů představující atributy přidružené k odpovídajícímu prvku v types poli. Výchozí vázací objekt tento parametr nezpracovává.

Návraty

Objekt představující metodu, která odpovídá zadanému počtu obecných parametrů, typy argumentů, modifikátory, vazby omezení a konvence volání, pokud jsou nalezeny; v opačném případě . null

Výjimky

Metodu je potřeba přepsat a volat v odvozené třídě.

Platí pro

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

Zdroj:
Type.cs
Zdroj:
Type.cs
Zdroj:
Type.cs

Při přepsání v odvozené třídě vyhledá zadanou metodu, jejíž parametry odpovídají zadaným typům argumentů a modifikátorům, pomocí zadaných vazeb omezení a zadané konvence volání.

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.

bindingAttr
BindingFlags

Bitové kombinace hodnot výčtu, které určují způsob provedení hledání.

-nebo-

Defaulta vrátí .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.

-nebo-

Nulový odkaz (Nothing v jazyce Visual Basic) pro použití .DefaultBinder

callConvention
CallingConventions

Objekt, který určuje sadu pravidel, která se mají použít, pokud jde o pořadí a rozložení argumentů, jak je vrácená hodnota předána, jaké registry se používají pro argumenty a jaký proces vyčistí zásobník.

types
Type[]

Pole Type objektů představující počet, pořadí a typ parametrů, které má metoda získat.

-nebo-

Prázdné pole typu Type (to znamená Type[] types = new Type[0]) pro získání metody, která nepřijímá žádné parametry.

-nebo-

null. Pokud types je nullhodnota , argumenty se neshodují.

modifiers
ParameterModifier[]

Pole ParameterModifier objektů představující atributy přidružené k odpovídajícímu prvku v types poli. Výchozí vázací objekt tento parametr nezpracovává.

Návraty

Objekt představující metodu, která odpovídá zadaným požadavkům, pokud je nalezen; v opačném případě . null

Výjimky

Byla nalezena více než jedna metoda se zadaným názvem, která odpovídá zadaným omezením vazby.

name je null.

Pole types je multidimenzionální.

-nebo-

Pole modifiers je multidimenzionální.

-nebo-

types a modifiers nemají stejnou délku.

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á modifiers. ParameterModifier se používá pouze při volání prostřednictvím zprostředkovatele komunikace com a jsou zpracovávány pouze parametry, které jsou předány odkazem.

Pokud types je nullhodnota , argumenty se neshodují.

Následující BindingFlags příznaky filtru lze použít k definování metod, které se mají zahrnout do hledání:

  • Pokud chcete získat vrácení, musíte zadat nebo BindingFlags.InstanceBindingFlags.Static .

  • Zadejte BindingFlags.Public , chcete-li do vyhledávání zahrnout veřejné metody.

  • Zadejte BindingFlags.NonPublic , aby se do hledání zahrnuly neveřejné metody (tj. soukromé, interní a chráněné metody).

  • Zadejte BindingFlags.FlattenHierarchy , chcete-li zahrnout public a protected statické členy v hierarchii; private statické členy ve zděděných třídách nebudou zahrnuty.

Pomocí následujících BindingFlags příznaků modifikátoru můžete změnit způsob fungování vyhledávání:

  • BindingFlags.IgnoreCase pokud chcete ignorovat případ name.

  • BindingFlags.DeclaredOnly hledat pouze metody deklarované na Type, nikoli metody, které byly jednoduše zděděny.

Další informace naleznete v tématu System.Reflection.BindingFlags.

Viz také

Platí pro