Type.GetMethodImpl Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) |
Se sottoposto a override in una classe derivata, cerca il metodo specificato i cui parametri corrispondono al numero di parametri generici, ai tipi di argomenti e ai modificatori specificati, usando i vincoli di binding e la convenzione di chiamata specificati. |
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) |
Quando ne viene eseguito l'override in una classe derivata, cerca il metodo specificato i cui parametri corrispondono ai modificatori e ai tipi di argomento definiti, usando i vincoli di binding e la convenzione di chiamata specificati. |
GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- Origine:
- Type.cs
- Origine:
- Type.cs
- Origine:
- Type.cs
Se sottoposto a override in una classe derivata, cerca il metodo specificato i cui parametri corrispondono al numero di parametri generici, ai tipi di argomenti e ai modificatori specificati, usando i vincoli di binding e la convenzione di chiamata specificati.
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
Parametri
- name
- String
Stringa che contiene il nome del metodo da ottenere.
- genericParameterCount
- Int32
Numero di parametri di tipo generico del metodo.
- bindingAttr
- BindingFlags
Combinazione bit per bit di valori di enumerazione che specifica il modo in cui viene eseguita la ricerca.
-oppure-
Default per restituire null
.
- binder
- Binder
Oggetto che definisce una serie di proprietà e permette il binding, che può implicare la scelta di un metodo di overload, la coercizione di tipi di argomento e la chiamata di un membro mediante reflection.
-oppure-
Riferimento Null (Nothing
in Visual Basic) per l'uso di DefaultBinder.
- callConvention
- CallingConventions
Oggetto che specifica il set di regole da usare per l'ordine e il layout degli argomenti, la modalità di passaggio del valore restituito, i registri usati per gli argomenti e il processo di pulizia dello stack.
- types
- Type[]
Matrice di oggetti Type che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere.
-oppure-
Matrice vuota di tipo Type (ovvero, Type[] types = new Type[0]) per ottenere un metodo che non accetta parametri.
-oppure-
null
. Se types
è null
, gli argomenti non corrispondono.
- modifiers
- ParameterModifier[]
Matrice di oggetti ParameterModifier che rappresentano gli attributi associati all'elemento corrispondente nella matrice types
. Questo parametro non viene elaborato dal binder predefinito.
Restituisce
Oggetto che rappresenta il metodo corrispondente al numero di parametri generici, ai tipi di argomento, ai modificatori, ai vincoli di binding e alla convenzione di chiamata specificati, se viene trovato. In caso contrario, null
.
Eccezioni
È necessario eseguire l'override del metodo, che deve essere chiamato in una classe derivata.
Si applica a
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- Origine:
- Type.cs
- Origine:
- Type.cs
- Origine:
- Type.cs
Quando ne viene eseguito l'override in una classe derivata, cerca il metodo specificato i cui parametri corrispondono ai modificatori e ai tipi di argomento definiti, usando i vincoli di binding e la convenzione di chiamata specificati.
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
Parametri
- name
- String
Stringa che contiene il nome del metodo da ottenere.
- bindingAttr
- BindingFlags
Combinazione bit per bit di valori di enumerazione che specifica il modo in cui viene eseguita la ricerca.
-oppure-
Default per restituire null
.
- binder
- Binder
Oggetto che definisce una serie di proprietà e permette il binding, che può implicare la scelta di un metodo di overload, la coercizione di tipi di argomento e la chiamata di un membro mediante reflection.
-oppure-
Riferimento Null (Nothing
in Visual Basic) per l'uso di DefaultBinder.
- callConvention
- CallingConventions
Oggetto che specifica il set di regole da usare per l'ordine e il layout degli argomenti, la modalità di passaggio del valore restituito, i registri usati per gli argomenti e il processo di pulizia dello stack.
- types
- Type[]
Matrice di oggetti Type che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere.
-oppure-
Matrice vuota di tipo Type (ovvero, Type[] types = new Type[0]) per ottenere un metodo che non accetta parametri.
-oppure-
null
. Se types
è null
, gli argomenti non corrispondono.
- modifiers
- ParameterModifier[]
Matrice di oggetti ParameterModifier che rappresentano gli attributi associati all'elemento corrispondente nella matrice types
. Questo parametro non viene elaborato dal binder predefinito.
Restituisce
Oggetto che rappresenta il metodo corrispondente ai requisiti specificati, se presente; in caso contrario, null
.
Eccezioni
È stato trovato più di un metodo con il nome specificato e corrispondente ai vincoli di associazione specificati.
name
è null
.
types
è multidimensionale.
-oppure-
modifiers
è multidimensionale.
-oppure-
types
e modifiers
non hanno la stessa lunghezza.
Il tipo corrente è TypeBuilder o GenericTypeParameterBuilder.
Commenti
Anche se il binder predefinito non elabora ParameterModifier (il parametro ), è possibile usare la classe astratta System.Reflection.Binder per scrivere un binder personalizzato che esegue l'elaborazione modifiers
modifiers
di .
ParameterModifier
viene usato solo quando si chiama tramite l'interoperabilità COM e vengono gestiti solo i parametri passati per riferimento.
Se types
è null
, gli argomenti non corrispondono.
È possibile usare i flag di filtro seguenti BindingFlags per definire i metodi da includere nella ricerca:
È necessario specificare
BindingFlags.Instance
oBindingFlags.Static
per ottenere un ritorno.Specificare
BindingFlags.Public
per includere i metodi pubblici nella ricerca.Specificare
BindingFlags.NonPublic
di includere metodi non pubblici (ovvero metodi privati, interni e protetti) nella ricerca.Specificare
BindingFlags.FlattenHierarchy
di includerepublic
eprotected
membri statici fino alla gerarchia.private
I membri statici nelle classi ereditate non sono inclusi.
Per modificare il funzionamento della ricerca, è possibile usare i flag di modificatore seguenti BindingFlags :
BindingFlags.IgnoreCase
per ignorare il caso diname
.BindingFlags.DeclaredOnly
per cercare solo i metodi dichiarati in Type, non i metodi semplicemente ereditati.
Per altre informazioni, vedere System.Reflection.BindingFlags.
Vedi anche
- MethodInfo
- String
- BindingFlags
- Binder
- DefaultBinder
- CallingConventions
- ParameterModifier
- GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])
- GetMethods()