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.GetMember méthode (String, MemberTypes, BindingFlags)

 

Date de publication : novembre 2016

Recherche les membres spécifiés du type de membre spécifié, à l'aide des contraintes de liaison spécifiées.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public virtual MemberInfo[] GetMember(
	string name,
	MemberTypes type,
	BindingFlags bindingAttr
)

Paramètres

name
Type: System.String

Chaîne contenant le nom des membres à obtenir.

type
Type: System.Reflection.MemberTypes

La valeur à rechercher.

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 un tableau vide.

Valeur de retour

Type: System.Reflection.MemberInfo[]

Tableau d'objets MemberInfo représentant les membres publics portant le nom spécifié, si ces objets sont trouvés ; sinon, un tableau vide.

Exception Condition
ArgumentNullException

name a la valeur null.

NotSupportedException

Une classe dérivée doit fournir une implémentation.

Les membres incluent les propriétés, méthodes, champs, événements et ainsi de suite.

Le GetMember méthode ne retourne pas les membres dans un ordre particulier, tel qu’alphabétique ou l’ordre de déclaration. Votre code ne doit pas varient en fonction de l’ordre dans lequel les membres sont retournés, car cet ordre varie.

Les éléments suivants BindingFlags les indicateurs de filtre peuvent être utilisés pour définir les membres à 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 membres publics dans la recherche.

  • Spécifiez BindingFlags.NonPublic pour inclure les membres non publics (c'est-à-dire les membres privés, 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 membres déclarés sur le Type, qui ont été simplement hérités.

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

Pour obtenir l’initialiseur de classe (.cctor) à l’aide de cette surcharge de méthode, vous devez spécifier « .cctor » pour name, MemberTypes.Constructor de type, et BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic en Visual Basic) pour bindingAttr. Vous pouvez également obtenir l’initialiseur de classe à l’aide de la TypeInitializer propriété.

Si le courant Type représente un type générique construit, cette méthode retourne la MemberInfo avec les paramètres de type remplacés par les arguments de type approprié.

Si le courant Type représente un paramètre de type dans la définition d’un type générique ou de méthode générique, cette méthode recherche les membres de la contrainte de classe ou les membres de Object s’il n’existe aucune contrainte de classe.

System_CAPS_noteRemarque

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 «MyMethod<int>», plutôt que pour une méthode nommée MyMethod qui possède un argument générique de type int.

L’exemple suivant affiche toutes les méthodes de la myString classe qui commencent par la lettre C.

    public void GetPublicInstanceMethodMemberInfo()
    {
        String myString = "GetMember_String_MemberType_BindingFlag";
        Type myType = myString.GetType();
        // Get the public instance methods for myString starting with the letter C.
        MemberInfo[] myMembers = myType.GetMember("C*", MemberTypes.Method, 
            BindingFlags.Public | BindingFlags.Instance);
        if(myMembers.Length > 0)
        {
            Console.WriteLine("\nThe public instance method(s) starting with the letter C for type {0}:", myType);
            for(int index=0; index < myMembers.Length; index++)
                Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
        }
        else
            Console.WriteLine("No members match the search criteria.");    
    }
}

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