Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.GetMethodImpl, méthode
En cas de substitution dans une classe dérivée, recherche la méthode spécifiée dont les paramètres correspondent aux types d'arguments et modificateurs spécifiés, à l'aide des contraintes de liaison et de la convention d'appel spécifiées.
Assembly : mscorlib (dans mscorlib.dll)
protected abstract MethodInfo GetMethodImpl( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers )
Paramètres
- name
- Type : System.String
Chaîne contenant le nom de la méthode à obtenir.
- bindingAttr
- Type : System.Reflection.BindingFlags
Masque de bits constitué d'un ou de plusieurs BindingFlags spécifiant le mode d'exécution de la recherche.
ou
Zéro, pour retourner null.
- binder
- Type : System.Reflection.Binder
Objet qui définit un ensemble de propriétés et permet la liaison, ce qui peut impliquer la sélection d'une méthode surchargée, la contrainte de types d'arguments et l'appel d'un membre par la réflexion.
ou
Référence null (Nothing en Visual Basic) pour utiliser DefaultBinder.
- callConvention
- Type : System.Reflection.CallingConventions
Objet qui spécifie le jeu de règles à utiliser pour définir l'ordre et la disposition des arguments, la façon dont la valeur de retour est passée, les registres utilisés pour les arguments et le processus de nettoyage de la pile.
- types
- Type : System.Type[]
Tableau d'objets Type représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir.
ou
Tableau vide du type Type (c'est-à-dire Type[] types = new Type[0]) pour obtenir une méthode n'acceptant pas de paramètres.
ou
null. Si types est null, alors les arguments ne correspondent pas.
- modifiers
- Type : System.Reflection.ParameterModifier[]
Tableau d'objets ParameterModifier représentant les attributs associés à l'élément correspondant dans le tableau types. Le binder par défaut ne traite pas ce paramètre.
Valeur de retour
Type : System.Reflection.MethodInfoObjet qui représente la méthode correspondant aux critères spécifiés, si elle est trouvée ; sinon, null.
| Exception | Condition |
|---|---|
| AmbiguousMatchException |
Il existe plusieurs méthodes portant le nom spécifié et correspondant aux contraintes de liaison spécifiées. |
| ArgumentNullException |
name est null. |
| ArgumentException |
types est multidimensionnel. ou modifiers est multidimensionnel. ou types et modifiers n'ont pas la même longueur. |
| NotSupportedException |
Le type actuel est un TypeBuilder ou un GenericTypeParameterBuilder. |
Bien que le binder par défaut ne traite pas ParameterModifier (le paramètre modifiers), vous pouvez utiliser la classe abstraite System.Reflection.Binder pour écrire un binder personnalisé qui traite modifiers. ParameterModifier est utilisé uniquement lors d'un appel via COM Interop ; de plus, seuls sont gérés les paramètres passés par référence.
Si types est null, alors les arguments ne correspondent pas.
Les indicateurs de filtre BindingFlags suivants peuvent être utilisés pour définir les méthodes à inclure dans la recherche :
-
Vous devez spécifier soit BindingFlags.Instance, soit BindingFlags.Static pour obtenir un retour.
-
Spécifiez BindingFlags.Public pour inclure les méthodes publiques dans la recherche.
-
Spécifiez BindingFlags.NonPublic pour inclure des méthodes non publiques (c'est-à-dire des méthodes privées, internes et protégées) dans la recherche.
-
Spécifiez BindingFlags.FlattenHierarchy pour inclure les membres statiques public et protected en haut de la hiérarchie ; les membres statiques private dans les classes héritées ne sont pas inclus.
Les indicateurs de modificateur BindingFlags suivants peuvent être utilisés pour modifier le fonctionnement de la recherche :
-
BindingFlags.IgnoreCase pour ignorer la casse de name.
-
BindingFlags.DeclaredOnly pour limiter la recherche aux méthodes déclarées dans Type et exclure celles qui ont été simplement héritées.
Consultez System.Reflection.BindingFlags pour plus d'informations.
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.