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
- 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
- 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 modifiersmodifiersdi .
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.InstanceoBindingFlags.Staticper ottenere un ritorno.Specificare
BindingFlags.Publicper includere i metodi pubblici nella ricerca.Specificare
BindingFlags.NonPublicdi includere metodi non pubblici (ovvero metodi privati, interni e protetti) nella ricerca.Specificare
BindingFlags.FlattenHierarchydi includerepubliceprotectedmembri statici fino alla gerarchia.privateI membri statici nelle classi ereditate non sono inclusi.
Per modificare il funzionamento della ricerca, è possibile usare i flag di modificatore seguenti BindingFlags :
BindingFlags.IgnoreCaseper ignorare il caso diname.BindingFlags.DeclaredOnlyper 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()