Freigeben über


Type.GetMethodImpl Methode

Definition

Überlädt

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

Wenn eine abgeleitete Klasse überschrieben wird, wird nach der angegebenen Methode gesucht, deren Parameter den angegebenen Argumenttypen und Modifizierern entsprechen, wobei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention verwendet werden.

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

Wenn eine abgeleitete Klasse überschrieben wird, wird nach der angegebenen Methode gesucht, deren Parameter mit der angegebenen generischen Parameteranzahl, Argumenttypen und Modifizierern übereinstimmen, wobei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention verwendet werden.

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

Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs

Wenn eine abgeleitete Klasse überschrieben wird, wird nach der angegebenen Methode gesucht, deren Parameter den angegebenen Argumenttypen und Modifizierern entsprechen, wobei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention verwendet werden.

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);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)]
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);
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);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)>]
abstract member GetMethodImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo
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

Parameter

name
String

Die Zeichenfolge, die den Namen der abzurufenden Methode enthält.

bindingAttr
BindingFlags

Eine bitweise Kombination der Enumerationswerte, die angeben, wie die Suche durchgeführt wird.

- oder -

Default zurückzugeben null.

binder
Binder

Ein Objekt, das eine Reihe von Eigenschaften definiert und die Bindung ermöglicht, was die Auswahl einer überladenen Methode, die Koersion von Argumenttypen und den Aufruf eines Elements durch Spiegelung umfassen kann.

- oder -

Ein Nullverweis (Nothing in Visual Basic), um die DefaultBinder zu verwenden.

callConvention
CallingConventions

Das Objekt, das den Satz von Regeln angibt, die für die Reihenfolge und das Layout von Argumenten verwendet werden sollen, wie der Rückgabewert übergeben wird, welche Register für Argumente verwendet werden und welcher Prozess den Stapel bereinigt.

types
Type[]

Ein Array von Type Objekten, die die Anzahl, Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellen.

- oder -

Ein leeres Array des Typs Type (d. h. Type[] types = new Type[0]), um eine Methode abzurufen, die keine Parameter akzeptiert.

- oder -

null. Ist types dies nullder Wert , werden die Argumente nicht übereinstimmen.

modifiers
ParameterModifier[]

Ein Array von ParameterModifier Objekten, die die Attribute darstellen, die dem entsprechenden Element im types Array zugeordnet sind. Der Standardordner verarbeitet diesen Parameter nicht.

Gibt zurück

Ein Objekt, das die Methode darstellt, die den angegebenen Anforderungen entspricht, falls gefunden; andernfalls . null

Attribute

Ausnahmen

Mehrere Methoden werden mit dem angegebenen Namen gefunden und den angegebenen Bindungseinschränkungen entsprechen.

name ist null.

types ist multidimensional.

- oder -

modifiers ist multidimensional.

- oder -

types und modifiers haben nicht dieselbe Länge.

Hinweise

Obwohl der Standard-Binder ParameterModifier (den modifiers Parameter) nicht verarbeitet, können Sie die abstrakte System.Reflection.Binder Klasse verwenden, um einen benutzerdefinierten Binder zu schreiben, der modifiers verarbeitet. ParameterModifier wird nur verwendet, wenn der Aufruf über die COM-Interoperabilität erfolgt, und nur Parameter, die als Referenz übergeben werden, werden behandelt.

Ist types dies nullder Wert , werden die Argumente nicht übereinstimmen.

Die folgenden BindingFlags Filterkennzeichnungen können verwendet werden, um zu definieren, welche Methoden in die Suche einbezogen werden sollen:

  • Sie müssen entweder BindingFlags.Instance oder BindingFlags.Static angeben, um eine Rückgabe zu erhalten.

  • Geben Sie an BindingFlags.Public , dass öffentliche Methoden in die Suche eingeschlossen werden sollen.

  • Geben Sie an BindingFlags.NonPublic , dass nicht öffentliche Methoden (d. h. private, interne und geschützte Methoden) in die Suche einbezogen werden sollen.

  • Geben Sie BindingFlags.FlattenHierarchy an, um public und protected statische Member in der gesamten Hierarchie einzuschließen; private statische Member in geerbten Klassen sind nicht enthalten.

Die folgenden BindingFlags Modifiziererkennzeichnungen können verwendet werden, um die Funktionsweise der Suche zu ändern:

  • BindingFlags.IgnoreCase, um die Groß- und Kleinschreibung von name zu ignorieren.

  • BindingFlags.DeclaredOnly um nur die methoden zu durchsuchen, die für die TypeMethoden deklariert wurden, nicht, die einfach geerbt wurden.

Weitere Informationen finden Sie unter System.Reflection.BindingFlags.

Weitere Informationen

Gilt für:

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

Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs
Quelle:
Type.cs

Wenn eine abgeleitete Klasse überschrieben wird, wird nach der angegebenen Methode gesucht, deren Parameter mit der angegebenen generischen Parameteranzahl, Argumenttypen und Modifizierern übereinstimmen, wobei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention verwendet werden.

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);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)]
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);
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);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods)>]
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
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

Parameter

name
String

Die Zeichenfolge, die den Namen der abzurufenden Methode enthält.

genericParameterCount
Int32

Die Anzahl der generischen Typparameter der Methode.

bindingAttr
BindingFlags

Eine bitweise Kombination der Enumerationswerte, die angeben, wie die Suche durchgeführt wird.

- oder -

Default zurückzugeben null.

binder
Binder

Ein Objekt, das eine Reihe von Eigenschaften definiert und die Bindung ermöglicht, was die Auswahl einer überladenen Methode, die Koersion von Argumenttypen und den Aufruf eines Elements durch Spiegelung umfassen kann.

- oder -

Ein Nullverweis (Nothing in Visual Basic), um die DefaultBinder zu verwenden.

callConvention
CallingConventions

Das Objekt, das den Satz von Regeln angibt, die für die Reihenfolge und das Layout von Argumenten verwendet werden sollen, wie der Rückgabewert übergeben wird, welche Register für Argumente verwendet werden und welcher Prozess den Stapel bereinigt.

types
Type[]

Ein Array von Type Objekten, die die Anzahl, Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellen.

- oder -

Ein leeres Array des Typs Type (d. h. Type[] types = new Type[0]), um eine Methode abzurufen, die keine Parameter akzeptiert.

- oder -

null. Ist types dies nullder Wert , werden die Argumente nicht übereinstimmen.

modifiers
ParameterModifier[]

Ein Array von ParameterModifier Objekten, die die Attribute darstellen, die dem entsprechenden Element im types Array zugeordnet sind. Der Standardordner verarbeitet diesen Parameter nicht.

Gibt zurück

Ein Objekt, das die Methode darstellt, die der angegebenen generischen Parameteranzahl, Argumenttypen, Modifizierern, Bindungseinschränkungen und Aufrufkonvention entspricht, falls gefunden; andernfalls . null

Attribute

Ausnahmen

Die Methode muss überschrieben und in einer abgeleiteten Klasse aufgerufen werden.

Gilt für: