Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Type.GetMember, méthode (String, BindingFlags)

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

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

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

Paramètres

name
Type : System.String
Chaîne contenant le nom des membres à 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 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.

Implémentations

_Type.GetMember(String, BindingFlags)
IReflect.GetMember(String, BindingFlags)

ExceptionCondition
ArgumentNullException

name a la valeur null.

Cette méthode peut être substituée par une classe dérivée.

Parmi les membres figurent des propriétés, méthodes, champs, événements, etc.

La méthode GetMember ne retourne pas les membres dans un ordre particulier, tel que l'ordre alphabétique ou l'ordre de déclaration. Votre code ne doit pas être fonction de l'ordre dans lequel les membres sont retournés, car cet ordre varie.

Les indicateurs de filtre BindingFlags suivants peuvent être utilisés pour définir les membres à 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 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 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 membres déclarés dans Type et exclure ceux qui ont été simplement hérités.

Pour plus d'informations, consultez 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 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 propriété TypeInitializer.

Si le Type actuel représente un type générique construit, cette méthode retourne MemberInfo avec les paramètres de type 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 membres de la contrainte de classe, ou les membres de Object, s'il n'existe aucune contrainte de classe.

RemarqueRemarque

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 affiche tous les membres statiques publics de la classe myString dont le nom commence par la lettre C.


public void GetPublicStaticMemberInfo()
{
    String myString = "GetMember_String_BindingFlag";
    Type myType = myString.GetType();
    // Get the public static members for the class myString starting with the letter C.
    MemberInfo[] myMembers = myType.GetMember("C*",
        BindingFlags.Public |BindingFlags.Static);
    if(myMembers.Length > 0)
    {
        Console.WriteLine("\nThe public static member(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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft