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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

MemberInfo, classe

Obtient des informations sur les attributs d'un membre et donne accès aux métadonnées du membre.

Espace de noms :  System.Reflection
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class MemberInfo : ICustomAttributeProvider, 
	_MemberInfo

Le type MemberInfo expose les membres suivants.

  NomDescription
Méthode protégéePris en charge par XNA FrameworkMemberInfoInitialise une nouvelle instance de la classe MemberInfo.
Début
  NomDescription
Propriété publiquePris en charge dans .NET pour les applications du Windows StoreCustomAttributesObtient une collection qui contient les attributs personnalisés de ce membre.
Propriété publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDeclaringTypeObtient la classe qui déclare ce membre.
Propriété publiquePris en charge par XNA FrameworkMemberTypeEn cas de substitution dans une classe dérivée, obtient une valeur MemberTypes indiquant le type du membre (méthode, constructeur, événement, etc.).
Propriété publiqueMetadataTokenObtient une valeur qui identifie un élément de métadonnées.
Propriété publiquePris en charge dans .NET pour les applications du Windows StoreModuleObtient le module dans lequel le type qui déclare le membre représenté par le MemberInfo actuel est défini.
Propriété publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreNameObtient le nom du membre actuel.
Propriété publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableReflectedTypeObtient l'objet classe utilisé pour obtenir cette instance de MemberInfo.
Début
  NomDescription
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableEqualsRetourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Substitue Object.Equals(Object).)

In XNA Framework 3.0, ce membre est hérité de Object.Equals(Object).


In Bibliothèque de classes portable Bibliothèque de classes portable, ce membre est hérité de Object.Equals(Object).
Méthode protégéePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableGetCustomAttributes(Boolean)En cas de substitution dans une classe dérivée, retourne un tableau de tous les attributs personnalisés appliqués à ce membre.
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableGetCustomAttributes(Type, Boolean)En cas de substitution dans une classe dérivée, retourne un tableau des attributs personnalisés appliqués à ce membre et identifiés par Type.
Méthode publiqueGetCustomAttributesDataRetourne une liste d'objets CustomAttributeData représentant des données relatives aux attributs qui ont été appliqués au membre cible.
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableGetHashCodeRetourne le code de hachage de cette instance. (Substitue Object.GetHashCode().)

In XNA Framework 3.0, ce membre est hérité de Object.GetHashCode().


In Bibliothèque de classes portable Bibliothèque de classes portable, ce membre est hérité de Object.GetHashCode().
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portableIsDefinedEn cas de substitution dans une classe dérivée, indique si un ou plusieurs attributs du type spécifié ou de ses types dérivés sont appliqués à ce membre.
Méthode protégéePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par  Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début
  NomDescription
Opérateur publicMembre statiqueEqualityIndique si deux objets MemberInfo sont égaux.
Opérateur publicMembre statiqueInequalityIndique si deux objets MemberInfo ne sont pas égaux.
Début
  NomDescription
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttribute(Type)Surchargé. Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttribute(Type, Boolean)Surchargé. Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttribute<T>()Surchargé. Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttribute<T>(Boolean)Surchargé. Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes()Surchargé. Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes(Boolean)Surchargé. Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes(Type)Surchargé. Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes(Type, Boolean)Surchargé. Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes<T>()Surchargé. Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreGetCustomAttributes<T>(Boolean)Surchargé. Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreIsDefined(Type)Surchargé. Indique si des attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié. (Défini par CustomAttributeExtensions.)
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreIsDefined(Type, Boolean)Surchargé. Indique si les attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié, et, éventuellement, appliqués à ses ancêtres. (Défini par CustomAttributeExtensions.)
Début
  NomDescription
Implémentation d'interface expliciteMéthode privée_MemberInfo.GetIDsOfNamesMappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.
Implémentation d'interface expliciteMéthode privée_MemberInfo.GetTypeObtient un objet Type représentant la classe MemberInfo.
Implémentation d'interface expliciteMéthode privée_MemberInfo.GetTypeInfoRécupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.
Implémentation d'interface expliciteMéthode privée_MemberInfo.GetTypeInfoCountRécupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).
Implémentation d'interface expliciteMéthode privée_MemberInfo.InvokeFournit l'accès aux propriétés et aux méthodes exposées par un objet.
Début

La classe MemberInfo est la classe de base abstraite des classes utilisées pour obtenir des informations sur tous les membres d'une classe (constructeurs, événements, champs, méthodes et propriétés).

Cette classe introduit la fonctionnalité de base offerte par tous les membres.

Remarques à l'attention des héritiers

Lorsque vous héritez de MemberInfo, vous devez substituer les membres suivants : GetCustomAttributes et IsDefined.

Cet exemple montre comment utiliser plusieurs classes de réflexion pour analyser les métadonnées contenues dans un assembly.


using System;
using System.Reflection;

class Module1
{

    public static void Main()
    {
        // This variable holds the amount of indenting that 
        // should be used when displaying each line of information.
        Int32 indent = 0;
        // Display information about the EXE assembly.
        Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
        Display(indent, "Assembly identity={0}", a.FullName);
        Display(indent+1, "Codebase={0}", a.CodeBase);

        // Display the set of assemblies our assemblies reference.

        Display(indent, "Referenced assemblies:");
        foreach (AssemblyName an in a.GetReferencedAssemblies() )
        {
             Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", an.Name, an.Version, an.CultureInfo.Name, (BitConverter.ToString (an.GetPublicKeyToken())));
        }
        Display(indent, "");

        // Display information about each assembly loading into this AppDomain.
        foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies())
        {
            Display(indent, "Assembly: {0}", b);

            // Display information about each module of this assembly.
            foreach ( Module m in b.GetModules(true) )
            {
                Display(indent+1, "Module: {0}", m.Name);
            }

            // Display information about each type exported from this assembly.

            indent += 1;
            foreach ( Type t in b.GetExportedTypes() )
            {
                Display(0, "");
                Display(indent, "Type: {0}", t);

                // For each type, show its members & their custom attributes.

                indent += 1;
                foreach (MemberInfo mi in t.GetMembers() )
                {
                    Display(indent, "Member: {0}", mi.Name);
                    DisplayAttributes(indent, mi);

                    // If the member is a method, display information about its parameters.

                    if (mi.MemberType==MemberTypes.Method)
                    {
                        foreach ( ParameterInfo pi in ((MethodInfo) mi).GetParameters() )
                        {
                            Display(indent+1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name);
                        }
                    }

                    // If the member is a property, display information about the property's accessor methods.
                    if (mi.MemberType==MemberTypes.Property)
                    {
                        foreach ( MethodInfo am in ((PropertyInfo) mi).GetAccessors() )
                        {
                            Display(indent+1, "Accessor method: {0}", am);
                        }
                    }
                }
                indent -= 1;
            }
            indent -= 1;
        }
    }

    // Displays the custom attributes applied to the specified member.
    public static void DisplayAttributes(Int32 indent, MemberInfo mi)
    {
        // Get the set of custom attributes; if none exist, just return.
        object[] attrs = mi.GetCustomAttributes(false);
        if (attrs.Length==0) {return;}

        // Display the custom attributes applied to this member.
        Display(indent+1, "Attributes:");
        foreach ( object o in attrs )
        {
            Display(indent+2, "{0}", o.ToString());
        }
    }

    // Display a formatted string indented by the specified amount.
    public static void Display(Int32 indent, string format, params object[] param) 

    {
        Console.Write(new string(' ', indent*2));
        Console.WriteLine(format, param);
    }
}

//The output shown below is abbreviated.
//
//Assembly identity=ReflectionCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
//  Codebase=file:///C:/Documents and Settings/test/My Documents/Visual Studio 2005/Projects/Reflection/Reflection/obj/Debug/Reflection.exe
//Referenced assemblies:
//  Name=mscorlib, Version=2.0.0.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//
//Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//
//  Type: System.Object
//    Member: GetType
//    Member: ToString
//    Member: Equals
//      Parameter: Type=System.Object, Name=obj
//    Member: Equals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: ReferenceEquals
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: GetHashCode
//    Member: .ctor
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//
//  Type: System.ICloneable
//    Member: Clone
//
//  Type: System.Collections.IEnumerable
//    Member: GetEnumerator
//      Attributes:
//        System.Runtime.InteropServices.DispIdAttribute
//
//  Type: System.Collections.ICollection
//    Member: CopyTo
//      Parameter: Type=System.Array, Name=array
//      Parameter: Type=System.Int32, Name=index
//    Member: get_Count
//    Member: get_SyncRoot
//    Member: get_IsSynchronized
//    Member: Count
//      Accessor method: Int32 get_Count()
//    Member: SyncRoot
//      Accessor method: System.Object get_SyncRoot()
//    Member: IsSynchronized
//      Accessor method: Boolean get_IsSynchronized()
//
//  Type: System.Collections.IList
//    Member: get_Item
//      Parameter: Type=System.Int32, Name=index
//    Member: set_Item
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Add
//      Parameter: Type=System.Object, Name=value
//    Member: Contains
//      Parameter: Type=System.Object, Name=value
//    Member: Clear
//    Member: get_IsReadOnly
//    Member: get_IsFixedSize
//    Member: IndexOf
//      Parameter: Type=System.Object, Name=value
//    Member: Insert
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Remove
//      Parameter: Type=System.Object, Name=value
//    Member: RemoveAt
//      Parameter: Type=System.Int32, Name=index
//    Member: Item
//      Accessor method: System.Object get_Item(Int32)
//      Accessor method: Void set_Item(Int32, System.Object)
//    Member: IsReadOnly
//      Accessor method: Boolean get_IsReadOnly()
//    Member: IsFixedSize
//      Accessor method: Boolean get_IsFixedSize()
//
//  Type: System.Array
//    Member: IndexOf
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: AsReadOnly
//      Parameter: Type=T[], Name=array
//    Member: Resize
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[]&, Name=array
//      Parameter: Type=System.Int32, Name=newSize
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//      Parameter: Type=System.Collections.Generic.IComparer`1[T], Name=comparer


.NET Framework

Pris en charge dans : 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 du Windows Store

Pris en charge dans : Windows 8
  • SecurityAction.InheritanceDemand 

    pour une confiance totale accordée aux héritiers. Cette classe ne peut pas être héritée par du code d'un niveau de confiance partiel.

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.

Ce type est thread-safe.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.