Type.GetMethodImpl Type.GetMethodImpl Type.GetMethodImpl Method

Definizione

Overload

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 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.When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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

GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) 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.When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.

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);
abstract member GetMethodImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * System.Reflection.CallingConventions * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.MethodInfo

Parametri

name
String String String

Stringa che contiene il nome del metodo da ottenere.The string containing the name of the method to get.

bindingAttr
BindingFlags BindingFlags BindingFlags

Combinazione bit per bit di valori di enumerazione che specifica il modo in cui viene eseguita la ricerca.A bitwise combination of the enumeration values that specify how the search is conducted.

-oppure--or- Default per restituire null.Default to return null.

binder
Binder 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.An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.

-oppure--or- Riferimento Null (Nothing in Visual Basic) per l'uso di DefaultBinder.A null reference (Nothing in Visual Basic), to use the DefaultBinder.

callConvention
CallingConventions CallingConventions 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.The object that specifies the set of rules to use regarding the order and layout of arguments, how the return value is passed, what registers are used for arguments, and what process cleans up the stack.

types
Type[]

Matrice di oggetti Type che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere.An array of Type objects representing the number, order, and type of the parameters for the method to get.

In alternativa-or- Matrice vuota di tipo Type (ovvero, Type[] types = new Type[0]) per ottenere un metodo che non accetta parametri.An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.

-oppure--or- null.null. Se types è null, gli argomenti non corrispondono.If types is null, arguments are not matched.

modifiers
ParameterModifier[]

Matrice di oggetti ParameterModifier che rappresentano gli attributi associati all'elemento corrispondente nella matrice types.An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array. Questo parametro non viene elaborato dal binder predefinito.The default binder does not process this parameter.

Restituisce

Oggetto che rappresenta il metodo corrispondente ai requisiti specificati, se presente; in caso contrario, null.An object representing the method that matches the specified requirements, if found; otherwise, null.

Eccezioni

È stato trovato più di un metodo con il nome specificato e corrispondente ai vincoli di associazione specificati.More than one method is found with the specified name and matching the specified binding constraints.

types è multidimensionale.types is multidimensional.

-oppure--or- modifiers è multidimensionale.modifiers is multidimensional.

In alternativa-or- types e modifiers non hanno la stessa lunghezza.types and modifiers do not have the same length.

Commenti

Sebbene il Binder ParameterModifier predefinito non elabori (il modifiers parametro), è possibile usare la classe astratta System.Reflection.Binder per scrivere un gestore di associazione personalizzato che esegue modifiersl'elaborazione.Although the default binder does not process ParameterModifier (the modifiers parameter), you can use the abstract System.Reflection.Binder class to write a custom binder that does process modifiers. ParameterModifierviene utilizzato solo quando si effettua una chiamata tramite l'interoperabilità COM e vengono gestiti solo i parametri passati per riferimento.ParameterModifier is only used when calling through COM interop, and only parameters that are passed by reference are handled.

Se types è null, gli argomenti non corrispondono.If types is null, arguments are not matched.

I flag BindingFlags di filtro seguenti possono essere usati per definire i metodi da includere nella ricerca:The following BindingFlags filter flags can be used to define which methods to include in the search:

  • È necessario specificare BindingFlags.Instance o BindingFlags.Static per ottenere un valore restituito.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • Specificare BindingFlags.Public per includere i metodi pubblici nella ricerca.Specify BindingFlags.Public to include public methods in the search.

  • Specificare BindingFlags.NonPublic per includere metodi non pubblici (ovvero metodi privati, interni e protetti) nella ricerca.Specify BindingFlags.NonPublic to include non-public methods (that is, private, internal, and protected methods) in the search.

  • Consente BindingFlags.FlattenHierarchy di specificare public la protected gerarchia per includere i membri statici. private i membri statici nelle classi ereditate non sono inclusi.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

I flag BindingFlags di modifica seguenti possono essere utilizzati per modificare il funzionamento della ricerca:The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCaseper ignorare la distinzione tra namemaiuscole e minuscole.BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnlyper eseguire la ricerca solo nei metodi dichiarati in Type, non nei metodi semplicemente ereditati.BindingFlags.DeclaredOnly to search only the methods declared on the Type, not methods that were simply inherited.

Per altre informazioni, vedere System.Reflection.BindingFlags.See System.Reflection.BindingFlags for more information.

Vedi anche

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

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);
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

Parametri

genericParameterCount
Int32 Int32 Int32
types
Type[]
modifiers
ParameterModifier[]

Restituisce

Si applica a