Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MemberInfo-Klasse

 

Veröffentlicht: Oktober 2016

Ruft Informationen zu den Attributen eines Members ab und ermöglicht den Zugriff auf die Metadaten des Members.

Namespace:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)


[SerializableAttribute]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class MemberInfo : ICustomAttributeProvider, 
	_MemberInfo

NameBeschreibung
System_CAPS_protmethodMemberInfo()

Initialisiert eine neue Instanz der MemberInfo-Klasse.

NameBeschreibung
System_CAPS_pubpropertyCustomAttributes

Ruft eine Auflistung, die benutzerdefinierten Attribute des Elements enthält.

System_CAPS_pubpropertyDeclaringType

Ruft die Klasse, die diesen Member deklariert.

System_CAPS_pubpropertyMemberType

Ruft beim Überschreiben in einer abgeleiteten Klasse einen MemberTypes Wert, der den Typ des Members-Methode, Konstruktor, Ereignis usw..

System_CAPS_pubpropertyMetadataToken

Ruft einen Wert, der ein Metadatenelement identifiziert.

System_CAPS_pubpropertyModule

Ruft das Modul, in dem der Typ, den Member deklariert, von der aktuellen dargestellt MemberInfo definiert ist.

System_CAPS_pubpropertyName

Ruft den Namen des aktuellen Elements ab.

System_CAPS_pubpropertyReflectedType

Ruft das Klassenobjekt, das verwendet wurde, zum Abrufen dieser Instanz des MemberInfo.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Überschreibt Object.Equals(Object).)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetCustomAttributes(Boolean)

Ruft beim Überschreiben in einer abgeleiteten Klasse zurückgegeben ein Array aller benutzerdefinierten Attribute, die auf diesen Member angewendet.

System_CAPS_pubmethodGetCustomAttributes(Type, Boolean)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt ein Array von benutzerdefinierten Attributen, die auf diesen Member angewendet und identifizierten Type.

System_CAPS_pubmethodGetCustomAttributesData()

Gibt eine Liste von CustomAttributeData -Objekten, die Daten zu den Attributen, die für das Ziel übernommen wurden darstellen.

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Überschreibt Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefined(Type, Boolean)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt an, ob ein oder mehrere Attribute des angegebenen Typs oder seiner abgeleiteten Typen auf diesen Member angewendet wird.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticEquality(MemberInfo, MemberInfo)

Gibt an, ob zwei MemberInfo-Objekte gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticInequality(MemberInfo, MemberInfo)

Gibt an, ob zwei MemberInfo-Objekte ungleich sind.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetType()

Ruft ein Type Objekt, darstellt, die MemberInfo Klasse.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

NameBeschreibung
System_CAPS_pubmethodGetCustomAttribute(Type)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der auf einen bestimmten Member angewendet wird.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute(Type, Boolean)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, die auf einen bestimmten Member angewendet wird, und optional untersucht die übergeordneten Elementen dieses Elements ab.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>()

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der auf einen bestimmten Member angewendet wird.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>(Boolean)

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, die auf einen bestimmten Member angewendet wird, und optional untersucht die übergeordneten Elementen dieses Elements ab.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes()

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen, die auf einen bestimmten Member angewendet werden.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes(Type)

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen eines angegebenen Typs, die auf einen bestimmten Member angewendet werden.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes<T>(Boolean)

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen eines angegebenen Typs, die auf einen bestimmten Member angewendet werden, und optional die übergeordneten Elementen dieses Elements untersucht.(Definiert durch CustomAttributeExtensions.)

System_CAPS_pubmethodIsDefined(Type)

Überladen. Gibt an, ob benutzerdefinierte Attribute eines angegebenen Typs auf einen bestimmten Member angewendet werden.(Definiert durch CustomAttributeExtensions.)

Die MemberInfo -Klasse ist die abstrakte Basisklasse für Klassen zum Abrufen von Informationen zu allen Membern einer Klasse (Konstruktoren, Ereignisse, Felder, Methoden und Eigenschaften).

Diese Klasse stellt die grundlegende Funktionalität, die alle Mitglieder bereitstellen.

Hinweise für Vererber:

Beim Erben von MemberInfo müssen Sie die folgenden Member überschreiben: GetCustomAttributes und IsDefined.

In diesem Beispiel wird veranschaulicht, wie mit verschiedenen Reflektionsklassen verwendet die Metadaten in einer Assembly enthaltenen analysieren können.

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 = typeof(Module1).Assembly;
        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

SecurityAction.InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Dieser Typ ist threadsicher.

Zurück zum Anfang
Anzeigen: