Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
0 von 2 fanden dies hilfreich - Dieses Thema bewerten.

PropertyInfo-Klasse

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

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class PropertyInfo : MemberInfo, 
	_PropertyInfo

Der PropertyInfo-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Geschützte Methode Unterstützt von XNA Framework PropertyInfo Initialisiert eine neue Instanz der PropertyInfo-Klasse.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft Unterstützt von XNA Framework Attributes Ruft die Attribute für diese Eigenschaft ab.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif CanRead Ruft einen Wert ab, der angibt, ob die Eigenschaft gelesen werden kann.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif CanWrite Ruft einen Wert ab, der angibt, ob in die Eigenschaft geschrieben werden kann.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif DeclaringType Ruft die Klasse ab, die diesen Member deklariert. (Von MemberInfo geerbt.)
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif IsSpecialName Ruft einen Wert ab, der angibt, ob es sich bei der Eigenschaft um den besonderen Namen handelt.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif MemberType Ruft einen MemberTypes-Wert ab, der angibt, dass dieser Member eine Eigenschaft ist. (Überschreibt MemberInfo.MemberType.)
Öffentliche Eigenschaft MetadataToken Ruft einen Wert ab, der ein Metadatenelement identifiziert. (Von MemberInfo geerbt.)
Öffentliche Eigenschaft 8z852kf5.PortableClassLibrary(de-de,VS.100).gif Module Ruft das Modul ab, in dem der Typ definiert ist, der den von der aktuellen MemberInfo-Klasse dargestellten Member deklariert. (Von MemberInfo geerbt.)
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif Name Ruft den Namen des aktuellen Members ab. (Von MemberInfo geerbt.)
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif PropertyType Ruft den Typ dieser Eigenschaft ab.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif ReflectedType Ruft das Klassenobjekt ab, mit dem diese Instanz von MemberInfo abgerufen wurde. (Von MemberInfo geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif Equals Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Überschreibt MemberInfo.Equals(Object).)

In XNA Framework 3.0 wird dieser Member von Object.Equals(Object).


In   wird dieser Member von Object.Equals(Object).
Geschützte Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetAccessors() Gibt ein Array zurück, dessen Elemente den öffentlichen get-Accessor, set-Accessor und andere Accessoren der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetAccessors(Boolean) Gibt ein Array zurück, dessen Elemente den öffentlichen und, sofern angegeben, den nicht öffentlichen get-Accessor, set-Accessor und andere Accessoren der Eigenschaft reflektieren, die von der aktuellen Instanz reflektiert wird.
Öffentliche Methode GetConstantValue Gibt einen literalen Wert zurück, der der Eigenschaft von einem Compiler zugeordnet wurde.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetCustomAttributes(Boolean) Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array mit allen benutzerdefinierten Attributen zurück, die auf diesen Member angewendet wurden. (Von MemberInfo geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetCustomAttributes(Type, Boolean) Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array mit benutzerdefinierten Attributen zurück, die auf diesen Member angewendet und von Type angegeben wurden. (Von MemberInfo geerbt.)
Öffentliche Methode GetCustomAttributesData Gibt eine Liste von CustomAttributeData-Objekten zurück, die Daten über die für das Ziel übernommenen Attribute darstellen. (Von MemberInfo geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetGetMethod() Gibt den öffentlichen get-Accessor für diese Eigenschaft zurück.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetGetMethod(Boolean) Gibt beim Überschreiben in einer abgeleiteten Klasse den öffentlichen oder nicht öffentlichen get-Accessor für diese Eigenschaft zurück.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetHashCode Gibt den Hashcode für diese Instanz zurück. (Überschreibt MemberInfo.GetHashCode().)

In XNA Framework 3.0 wird dieser Member von Object.GetHashCode().


In   wird dieser Member von Object.GetHashCode().
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetIndexParameters Gibt beim Überschreiben in einer abgeleiteten Klasse ein Array aller Indexparameter für die Eigenschaft zurück.
Öffentliche Methode GetOptionalCustomModifiers Gibt ein Array von Typen zurück, die die optionalen benutzerdefinierten Modifizierer der Eigenschaft darstellen.
Öffentliche Methode GetRawConstantValue Gibt einen literalen Wert zurück, der der Eigenschaft von einem Compiler zugeordnet wurde.
Öffentliche Methode GetRequiredCustomModifiers Gibt ein Array von Typen zurück, die die erforderlichen benutzerdefinierten Modifizierer der Eigenschaft darstellen.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetSetMethod() Gibt den öffentlichen set-Accessor für diese Eigenschaft zurück.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetSetMethod(Boolean) Gibt beim Überschreiben in einer abgeleiteten Klasse den set-Accessor für diese Eigenschaft zurück.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif GetValue(Object, Object[]) Gibt den Wert der Eigenschaft mit optionalen Indexwerten für indizierte Eigenschaften zurück.
Öffentliche Methode Unterstützt von XNA Framework GetValue(Object, BindingFlags, Binder, Object[], CultureInfo) Gibt beim Überschreiben in einer abgeleiteten Klasse den Wert einer Eigenschaft mit der angegebenen Bindung, dem angegebenen Index und der angegebenen CultureInfo zurück.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif IsDefined Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob ein oder mehrere Attribute des angegebenen Typs oder seiner abgeleiteten Typen auf diesen Member angewendet werden. (Von MemberInfo geerbt.)
Geschützte Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif SetValue(Object, Object, Object[]) Legt den Wert der Eigenschaft mit optionalen Indexwerten für Indexeigenschaften fest.
Öffentliche Methode Unterstützt von XNA Framework SetValue(Object, Object, BindingFlags, Binder, Object[], CultureInfo) Legt beim Überschreiben in einer abgeleiteten Klasse den Eigenschaftswert für das angegebene Objekt auf den angegebenen Wert fest.
Öffentliche Methode Unterstützt von XNA Framework 8z852kf5.PortableClassLibrary(de-de,VS.100).gif ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentlicher Operator Statischer Member Equality Gibt an, ob zwei PropertyInfo-Objekte gleich sind.
Öffentlicher Operator Statischer Member Inequality Gibt an, ob zwei PropertyInfo-Objekte ungleich sind.
Zum Seitenanfang
  Name Beschreibung
Explizite Schnittstellenimplementierung Private Methode _MemberInfo.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von MemberInfo geerbt.)
Explizite Schnittstellenimplementierung Private Methode _MemberInfo.GetType Ruft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt. (Von MemberInfo geerbt.)
Explizite Schnittstellenimplementierung Private Methode _MemberInfo.GetTypeInfo Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können. (Von MemberInfo geerbt.)
Explizite Schnittstellenimplementierung Private Methode _MemberInfo.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von MemberInfo geerbt.)
Explizite Schnittstellenimplementierung Private Methode _MemberInfo.Invoke Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von MemberInfo geerbt.)
Explizite Schnittstellenimplementierung Private Methode _PropertyInfo.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite Schnittstellenimplementierung Private Methode _PropertyInfo.GetType Ruft ein Type-Objekt ab, das den PropertyInfo-Typ darstellt.
Explizite Schnittstellenimplementierung Private Methode _PropertyInfo.GetTypeInfo Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite Schnittstellenimplementierung Private Methode _PropertyInfo.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite Schnittstellenimplementierung Private Methode _PropertyInfo.Invoke Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Zum Seitenanfang

Eigenschaften sind logisch Feldern gleich. Eine Eigenschaft ist ein benannter Aspekt des Zustands eines Objekts, auf dessen Wert i. d. R. über die get-Accessoren und die set-Accessoren zugegriffen wird. Eigenschaften können schreibgeschützt sein. In diesem Fall wird eine set-Routine nicht unterstützt.

Hinweis Hinweis

Um zu bestimmen, ob eine Eigenschaft static ist, müssen Sie die MethodInfo des get-Accessors oder des set-Accessors abrufen, indem Sie die GetGetMethod-Methode oder die GetSetMethod-Methode aufrufen und die IsStatic-Eigenschaft untersuchen.

Bei mehreren Methoden in dieser Klasse wird davon ausgegangen, dass die get-Accessormethode und die set-Accessormethode einer Eigenschaft über bestimmte Formate verfügen. Die Signaturen der get-Methode und der set-Methode müssen der folgenden Konvention entsprechen:

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

  • Die get-Methode und die set-Methode müssen über die gleiche Anzahl, den gleichen Typ und die gleiche Reihenfolge von Indizes verfügen.

Wenn dieses Format nicht eingehalten wird, ist das Verhalten der GetValue-Methode und der SetValue-Methode undefiniert.

Wenn der inherit-Parameter von GetCustomAttributes den Wert true hat, wird beim Aufruf von ICustomAttributeProvider.GetCustomAttributes für PropertyInfo die Typhierarchie nicht durchlaufen. Verwenden Sie System.Attribute, um benutzerdefinierte Attribute zu vererben.

Hinweise zur Vererbung

Wenn Sie PropertyInfo vererben, müssen Sie die folgenden Member überschreiben: GetValue, SetValue, GetAccessors, GetGetMethod, GetSetMethod und GetIndexParameters.

In diesem Beispiel wird die Verwendung verschiedener Reflektionsklassen zur Analyse der in einer Assembly enthaltenen Metadaten veranschaulicht.

Hinweis Hinweis

Dieses Beispiel generiert ca. 55.000 Datenzeilen, die wie folgt in eine Textdatei an der Eingabeaufforderung 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 = 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

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Dieser Typ ist threadsicher.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ