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.GetMethod, méthode (String, BindingFlags)
Recherche la méthode spécifiée, à l'aide des contraintes de liaison spécifiées.
Assembly : mscorlib (dans mscorlib.dll)
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.
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.
Implémentations
_Type.GetMethod(String, BindingFlags)IReflect.GetMethod(String, BindingFlags)
| 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. |
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.
Remarque
|
|---|
|
Vous ne pouvez pas omettre de paramètres lorsque vous cherchez les constructeurs et méthodes. Vous pouvez uniquement omettre les paramètres lors de l'appel. |
Si le T:System.Type actuel représente un type générique construit, cette méthode retourne MethodInfo où les paramètres de type sont remplacés par les arguments de type appropriés.
Si le Type actuel représente un paramètre de type dans la définition d'un type ou d'une méthode générique, cette méthode recherche les méthodes de la contrainte de classe, ou les méthodes de Object, s'il n'existe aucune contrainte de classe.
Remarque
|
|---|
|
Pour les méthodes génériques, n'incluez pas les arguments de type dans name. Par exemple, le code C# GetMember("MyMethod<int>") recherche un membre portant le nom textuel "MyMethod<int>" plutôt qu'une méthode nommée MyMethod qui possède un argument générique de type int. |
L'exemple suivant obtient la méthode qui correspond aux indicateurs de liaisons spécifiés.
using System; using System.Reflection; class Program { // Method to get: public void MethodA() { } static void Main(string[] args) { // Get MethodA() MethodInfo mInfo = typeof(Program).GetMethod("MethodA", BindingFlags.Public | BindingFlags.Instance); Console.WriteLine("Found method: {0}", mInfo); } }
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.
Remarque