Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetMethodImpl méthode (String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

 

Date de publication : novembre 2016

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.

Espace de noms:   System
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 l'ensemble de règles à utiliser en ce qui concerne l'ordre et la disposition des arguments, la manière 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 de type Type (c'est-à-dire Type[] types = new Type[0]) pour obtenir une méthode qui ne prend aucun paramètre.

ou

null. Si types est null, 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.MethodInfo

Objet qui représente la méthode correspondant aux critères spécifiés, si elle est trouvée ; sinon, null.

Exception Condition
AmbiguousMatchException

Au moins deux méthodes portent le nom spécifié et correspondent aux contraintes de liaison spécifiées.

ArgumentNullException

name a la valeur null.

ArgumentException

types est multidimensionnel.

ou

modifiers est multidimensionnel.

ou

types et modifiers n’ont pas la même longueur.

NotSupportedException

Bien que le binder par défaut ne traite pas ParameterModifier (le modifiers paramètre), vous pouvez utiliser le résumé System.Reflection.Binder classe pour écrire un binder personnalisé qui traite modifiers. ParameterModifier est utilisé uniquement lors de l’appel via COM interop, et seuls les paramètres qui sont passés par référence sont gérées.

Si types est null, les arguments ne correspondent pas.

Les éléments suivants BindingFlags les indicateurs de filtre peuvent être utilisés pour définir les méthodes à inclure dans la recherche :

  • Vous devez spécifier BindingFlags.Instance ou BindingFlags.Static afin d’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, les méthodes privées, internes et protégés) dans la recherche.

  • Spécifiez BindingFlags.FlattenHierarchy pour inclure public et protected des membres statiques de la hiérarchie ; private des membres statiques dans les classes héritées ne sont pas inclus.

Les éléments suivants BindingFlags les indicateurs de modificateur peuvent être utilisés pour modifier le fonctionnement de la recherche :

  • BindingFlags.IgnoreCase pour ignorer la casse de name.

  • BindingFlags.DeclaredOnly Pour rechercher uniquement les méthodes déclarées sur le Type, pas les méthodes qui ont été simplement hérités.

Pour plus d'informations, voir System.Reflection.BindingFlags.

.NET Framework
Disponible depuis 1.1
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: