PropertyInfo Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
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

PropertyInfo-Klasse

 

Ermittelt die Attribute einer Eigenschaft und bietet Zugriff auf die Metadaten der Eigenschaft.

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


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

NameBeschreibung
System_CAPS_protmethodPropertyInfo()

Initialisiert eine neue Instanz der PropertyInfo-Klasse.

NameBeschreibung
System_CAPS_pubpropertyAttributes

Ruft die Attribute für diese Eigenschaft ab.

System_CAPS_pubpropertyCanRead

Ruft einen Wert ab, der angibt, ob die Eigenschaft gelesen werden kann.

System_CAPS_pubpropertyCanWrite

Ruft einen Wert ab, der angibt, ob in die Eigenschaft geschrieben werden kann.

System_CAPS_pubpropertyCustomAttributes

Ruft eine Auflistung, die benutzerdefinierten Attribute des Elements enthält.(Geerbt von MemberInfo.)

System_CAPS_pubpropertyDeclaringType

Ruft die Klasse, die diesen Member deklariert.(Geerbt von MemberInfo.)

System_CAPS_pubpropertyGetMethod

Ruft den get-Accessor für diese Eigenschaft ab.

System_CAPS_pubpropertyIsSpecialName

Ruft einen Wert ab, der angibt, ob es sich bei der Eigenschaft um den besonderen Namen handelt.

System_CAPS_pubpropertyMemberType

Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member eine Eigenschaft ist.(Setzt "MemberInfo.MemberType" außer Kraft.)

System_CAPS_pubpropertyMetadataToken

Ruft einen Wert, der ein Metadatenelement identifiziert.(Geerbt von MemberInfo.)

System_CAPS_pubpropertyModule

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

System_CAPS_pubpropertyName

Ruft den Namen des aktuellen Elements ab.(Geerbt von MemberInfo.)

System_CAPS_pubpropertyPropertyType

Ruft den Typ dieser Eigenschaft ab.

System_CAPS_pubpropertyReflectedType

Ruft das Klassenobjekt, das verwendet wurde, zum Abrufen dieser Instanz des MemberInfo.(Geerbt von MemberInfo.)

System_CAPS_pubpropertySetMethod

Ruft den set-Accessor für diese Eigenschaft ab.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Setzt "MemberInfo.Equals(Object)" außer Kraft.)

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_pubmethodGetAccessors()

Gibt ein Array zurück, dessen Elemente den öffentlichen get- und set-Accessor der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird.

System_CAPS_pubmethodGetAccessors(Boolean)

Gibt ein Array zurück, dessen Elemente den öffentlichen und, sofern angegeben, den nicht öffentlichen get- und set-Accessoren der Eigenschaft entsprechen, die durch die aktuelle Instanz angegeben ist.

System_CAPS_pubmethodGetConstantValue()

Gibt einen literalen Wert zurück, der der Eigenschaft von einem Compiler zugeordnet wurde.

System_CAPS_pubmethodGetCustomAttributes(Boolean)

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

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.(Geerbt von MemberInfo.)

System_CAPS_pubmethodGetCustomAttributesData()

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

System_CAPS_pubmethodGetGetMethod()

Gibt den öffentlichen get-Accessor für diese Eigenschaft zurück.

System_CAPS_pubmethodGetGetMethod(Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse den öffentlichen oder nicht öffentlichen get-Accessor für diese Eigenschaft zurück.

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Setzt "MemberInfo.GetHashCode()" außer Kraft.)

System_CAPS_pubmethodGetIndexParameters()

Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array aller Indexparameter für die Eigenschaft zurück.

System_CAPS_pubmethodGetOptionalCustomModifiers()

Gibt ein Array von Typen zurück, die die optionalen benutzerdefinierten Modifizierer der Eigenschaft darstellen.

System_CAPS_pubmethodGetRawConstantValue()

Gibt einen literalen Wert zurück, der der Eigenschaft von einem Compiler zugeordnet wurde.

System_CAPS_pubmethodGetRequiredCustomModifiers()

Gibt ein Array von Typen zurück, die die erforderlichen benutzerdefinierten Modifizierer der Eigenschaft darstellen.

System_CAPS_pubmethodGetSetMethod()

Gibt den öffentlichen set-Accessor für diese Eigenschaft zurück.

System_CAPS_pubmethodGetSetMethod(Boolean)

Gibt beim Überschreiben in einer abgeleiteten Klasse den set-Accessor für diese Eigenschaft zurück.

System_CAPS_pubmethodGetType()

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

System_CAPS_pubmethodGetValue(Object)

Gibt den Eigenschaftswert eines angegebenen Objekts zurück.

System_CAPS_pubmethodGetValue(Object, BindingFlags, Binder, Object[], CultureInfo)

Gibt beim Überschreiben in einer abgeleiteten Klasse den Eigenschaftswert eines angegebenen Objekts zurück, das die angegebene Bindung, den Index und kulturabhängige Informationen besitzt.

System_CAPS_pubmethodGetValue(Object, Object[])

Gibt den Wert der Eigenschaft für das angegebene Objekt mit optionalen Indexwerten für indizierte Eigenschaften fest.

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.(Geerbt von MemberInfo.)

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodSetValue(Object, Object)

Legt den Eigenschaftswert des angegebenen Objekts fest.

System_CAPS_pubmethodSetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo)

Legt beim Überschreiben in einer abgeleiteten Klasse den Eigenschaftswert für ein angegebenes Objekt fest, das die angegebene Bindung, den Index und kulturabhängige Informationen besitzt.

System_CAPS_pubmethodSetValue(Object, Object, Object[])

Legt den Wert der Eigenschaft für das angegebene Objekt mit optionalen Indexwerten für Indexeigenschaften fest.

System_CAPS_pubmethodToString()

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

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticEquality(PropertyInfo, PropertyInfo)

Gibt an, ob zwei PropertyInfo-Objekte gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticInequality(PropertyInfo, PropertyInfo)

Gibt an, ob zwei PropertyInfo-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.(Geerbt von MemberInfo.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetType()

Ruft ein Type Objekt, darstellt, die MemberInfo Klasse.(Geerbt von MemberInfo.)

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.(Geerbt von MemberInfo.)

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).(Geerbt von MemberInfo.)

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.(Geerbt von MemberInfo.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.GetType()

Ruft ein Type-Objekt ab, das den PropertyInfo-Typ darstellt.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.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_PropertyInfo.GetTypeInfoCount(UInt32)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.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.(Definido por 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.(Definido por CustomAttributeExtensions).

System_CAPS_pubmethodGetCustomAttribute<T>()

Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der auf einen bestimmten Member angewendet wird.(Definido por 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.(Definido por CustomAttributeExtensions).

System_CAPS_pubmethodGetCustomAttributes()

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

System_CAPS_pubmethodGetCustomAttributes(Type)

Überladen. Ruft eine Auflistung von benutzerdefinierten Attributen eines angegebenen Typs, die auf einen bestimmten Member angewendet werden.(Definido por 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.(Definido por CustomAttributeExtensions).

System_CAPS_pubmethodIsDefined(Type)

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

Eigenschaften sind logisch identisch. Eine Eigenschaft ist ein benannter Aspekt des Zustands eines Objekts, dessen Wert in der Regel über ist get und set Accessoren. Eigenschaften schreibgeschützt, möglicherweise in diesem Fall wird eine Set-Routine nicht unterstützt.

System_CAPS_noteHinweis

Um zu bestimmen, ob eine Eigenschaft static, benötigen Sie die MethodInfo für die get oder set -Accessor durch Aufrufen der GetGetMethod oder die GetSetMethod -Methode, und untersuchen Sie seine IsStatic Eigenschaft.

Mehrere Methoden in dieser Klasse wird angenommen, dass die get Accessor und set Accessormethoden einer Eigenschaft über bestimmte Formate verfügen. Die Signaturen der get und set Methoden müssen der folgenden Konvention entsprechen:

  • Der Rückgabetyp der get -Methode und das letzte Argument von der set -Methode müssen identisch sein. Dies ist der Typ der Eigenschaft.

  • Die get und set Methoden müssen die gleiche Anzahl, Typ und Reihenfolge von Indizes.

Wenn dieses Format nicht eingehalten wird, das Verhalten der GetValue und SetValue Methoden ist nicht definiert.

Aufrufen von ICustomAttributeProvider.GetCustomAttributes auf PropertyInfo bei der inherit Parameter der GetCustomAttributes ist true die Typhierarchie nicht durchlaufen. Verwendung System.Attribute auf benutzerdefinierte Attribute zu vererben.

Hinweise zur Vererbung:

Beim Erben von PropertyInfo, müssen Sie die folgenden Member überschreiben: GetValue, SetValue, GetAccessors, GetGetMethod, GetSetMethod, und GetIndexParameters.

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

System_CAPS_noteHinweis

In diesem Beispiel wird etwa 55.000 Zeilen mit Daten, die in einer Textdatei an der Befehlszeile wie folgt umgeleitet werden können: example.exe > propertyinfo.txt

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.

Universal Windows Platform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portable Class Library
Unterstützt in: portable .NET platforms
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:
© 2016 Microsoft