Type.GetMethodImpl Metoda

Definicja

Przeciążenia

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

Podczas zastępowania w klasie pochodnej wyszukuje określoną metodę, której parametry są zgodne z określoną ogólną liczbą parametrów, typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania i określonej konwencji wywoływania.

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

Podczas zastępowania w klasie pochodnej wyszukuje określoną metodę, której parametry są zgodne z określonymi typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania i określonej konwencji wywoływania.

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

Podczas zastępowania w klasie pochodnej wyszukuje określoną metodę, której parametry są zgodne z określoną ogólną liczbą parametrów, typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania i określonej konwencji wywoływania.

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

Ciąg zawierający nazwę metody pobierania.

genericParameterCount
Int32

Liczba parametrów typu ogólnego metody.

bindingAttr
BindingFlags

Bitowa kombinacja wartości wyliczenia, które określają sposób przeprowadzania wyszukiwania.

-lub-

Default , aby zwrócić wartość null.

binder
Binder

Obiekt, który określa zestaw właściwości i umożliwia powiązanie, które może obejmować wybór metody przeciążonej, wymuszanie typów argumentu i wywołanie elementu członkowskiego przez odbicie.

-lub-

Odwołanie o wartości null (Nothing w Visual Basic) do używania elementu DefaultBinder.

callConvention
CallingConventions

Obiekt, który określa zestaw reguł do użycia w odniesieniu do kolejności i układu argumentów, sposobu przekazywania wartości zwracanej, rejestrów używanych do argumentów i procesu czyszczenia stosu.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów metody do pobrania.

-lub-

Pusta tablica typu Type (czyli type[] types = new Type[0]), aby uzyskać metodę, która nie przyjmuje żadnych parametrów.

-lub-

null. Jeśli types parametr ma nullwartość , argumenty nie są dopasowywane.

modifiers
ParameterModifier[]

Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w tablicy types . Domyślny konsolidator nie przetwarza tego parametru.

Zwraca

Obiekt reprezentujący metodę zgodną z określoną ogólną liczbą parametrów, typami argumentów, modyfikatorami, ograniczeniami powiązań i konwencją wywoływania, jeśli zostanie znaleziona; w przeciwnym razie , null.

Wyjątki

Metoda musi zostać przesłonięta i wywołana w klasie pochodnej.

Dotyczy

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

Podczas zastępowania w klasie pochodnej wyszukuje określoną metodę, której parametry są zgodne z określonymi typami argumentów i modyfikatorami, przy użyciu określonych ograniczeń powiązania i określonej konwencji wywoływania.

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

Ciąg zawierający nazwę metody pobierania.

bindingAttr
BindingFlags

Bitowa kombinacja wartości wyliczenia, które określają sposób przeprowadzania wyszukiwania.

-lub-

Default , aby zwrócić wartość null.

binder
Binder

Obiekt, który określa zestaw właściwości i umożliwia powiązanie, które może obejmować wybór metody przeciążonej, wymuszanie typów argumentu i wywołanie elementu członkowskiego przez odbicie.

-lub-

Odwołanie o wartości null (Nothing w Visual Basic) do używania elementu DefaultBinder.

callConvention
CallingConventions

Obiekt, który określa zestaw reguł do użycia w odniesieniu do kolejności i układu argumentów, sposobu przekazywania wartości zwracanej, rejestrów używanych do argumentów i procesu czyszczenia stosu.

types
Type[]

Tablica Type obiektów reprezentujących liczbę, kolejność i typ parametrów metody do pobrania.

-lub-

Pusta tablica typu Type (czyli type[] types = new Type[0]), aby uzyskać metodę, która nie przyjmuje żadnych parametrów.

-lub-

null. Jeśli types parametr ma nullwartość , argumenty nie są dopasowywane.

modifiers
ParameterModifier[]

Tablica ParameterModifier obiektów reprezentujących atrybuty skojarzone z odpowiednim elementem w tablicy types . Domyślny konsolidator nie przetwarza tego parametru.

Zwraca

Obiekt reprezentujący metodę zgodną z określonymi wymaganiami, jeśli zostanie znaleziony; w przeciwnym razie , null.

Wyjątki

Znaleziono więcej niż jedną metodę o określonej nazwie i pasującą do ograniczeń w określonym powiązaniu.

name to null.

Parametr types jest wielowymiarowy.

-lub-

Parametr modifiers jest wielowymiarowy.

-lub-

types i modifiers nie mają tej samej długości.

Uwagi

Mimo że domyślny binder nie przetwarza ParameterModifier (parametr), modifiers można użyć klasy abstrakcyjnej System.Reflection.Binder do napisania niestandardowego powiązania, który przetwarza modifiers. ParameterModifier Jest używany tylko podczas wywoływania międzyoperacyjności modelu COM i obsługiwane są tylko parametry przekazywane przez odwołanie.

Jeśli types parametr ma nullwartość , argumenty nie są dopasowywane.

Następujące BindingFlags flagi filtru mogą służyć do definiowania metod do uwzględnienia w wyszukiwaniu:

  • Musisz określić wartość BindingFlags.Instance lub BindingFlags.Static , aby uzyskać zwrot.

  • Określ BindingFlags.Public , aby uwzględnić metody publiczne w wyszukiwaniu.

  • Określ BindingFlags.NonPublic , aby uwzględnić metody inne niż publiczne (czyli metody prywatne, wewnętrzne i chronione) w wyszukiwaniu.

  • Określ BindingFlags.FlattenHierarchy , aby uwzględnić public i protected statyczne elementy członkowskie w hierarchii; private statyczne elementy członkowskie w klasach dziedziczynych nie są uwzględniane.

Następujące BindingFlags flagi modyfikatora mogą służyć do zmiany sposobu działania wyszukiwania:

  • BindingFlags.IgnoreCaseaby zignorować przypadek .name

  • BindingFlags.DeclaredOnly aby wyszukać tylko metody zadeklarowane w metodzie Type, a nie metody, które zostały po prostu odziedziczone.

Aby uzyskać więcej informacji, zobacz System.Reflection.BindingFlags.

Zobacz też

Dotyczy