Recherche la méthode publique spécifiée dont les paramètres correspondent aux types d'arguments et modificateurs spécifiés.
Assembly : mscorlib (dans mscorlib.dll)
Public Function GetMethod ( _ name As String, _ types As Type(), _ modifiers As ParameterModifier() _ ) As MethodInfo
public MethodInfo GetMethod( string name, Type[] types, ParameterModifier[] modifiers )
public: virtual MethodInfo^ GetMethod( String^ name, array<Type^>^ types, array<ParameterModifier>^ modifiers ) sealed
abstract GetMethod : name:string * types:Type[] * modifiers:ParameterModifier[] -> MethodInfo override GetMethod : name:string * types:Type[] * modifiers:ParameterModifier[] -> MethodInfo
Paramètres
- name
- Type : System.String
Chaîne contenant le nom de la méthode publique à obtenir.
- 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 d'objets Type (tels que le champ EmptyTypes les fournit) pour obtenir une méthode qui ne prend aucun paramètre.
- modifiers
- Type : System.Reflection.ParameterModifier[]
Tableau d'objets ParameterModifier représentant les attributs associés à l'élément correspondant dans le tableau types. À utiliser uniquement lors d'un appel via COM Interop ; de plus, seuls sont gérés les paramètres passés par référence. Le binder par défaut ne traite pas ce paramètre.
Valeur de retour
Type : System.Reflection.MethodInfoObjet représentant la méthode publique qui répond aux spécifications, si elle est trouvée ; sinon, null.
Implémentations
_Type.GetMethod(String, Type[], ParameterModifier[])| Exception | Condition |
|---|---|
| AmbiguousMatchException |
La recherche a trouvé plus d'une méthode présentant le nom et les paramètres spécifiés. |
| ArgumentNullException |
name est null. ou types est null. ou Un des éléments dans types est null. |
| ArgumentException |
types est multidimensionnel. ou modifiers est multidimensionnel. |
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.
La recherche de name respecte la casse. La recherche inclut les méthodes d'instance statiques publiques et publiques.
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# GetMethod("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. À la place, utilisez GetMethod("MyMethod") avec le paramètre approprié dans le tableau types. |
.NET Framework
Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Pris en charge dans : 4, 3.5 SP1Windows 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