Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe PropertyInfo

 

Data di pubblicazione: ottobre 2016

Individua gli attributi di una proprietà e consente di accedere ai relativi metadati.

Spazio dei nomi:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)


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

NomeDescrizione
System_CAPS_protmethodPropertyInfo()

Inizializza una nuova istanza della classe PropertyInfo.

NomeDescrizione
System_CAPS_pubpropertyAttributes

Ottiene gli attributi per questa proprietà.

System_CAPS_pubpropertyCanRead

Ottiene un valore che indica se è possibile leggere la proprietà.

System_CAPS_pubpropertyCanWrite

Ottiene un valore che indica se è possibile scrivere nella proprietà.

System_CAPS_pubpropertyCustomAttributes

Ottiene una raccolta che contiene gli attributi personalizzati del membro.(Ereditato da MemberInfo.)

System_CAPS_pubpropertyDeclaringType

Ottiene la classe che dichiara il membro.(Ereditato da MemberInfo.)

System_CAPS_pubpropertyGetMethod

Ottiene la funzione di accesso get per questa proprietà.

System_CAPS_pubpropertyIsSpecialName

Ottiene un valore che indica se la proprietà è il nome speciale.

System_CAPS_pubpropertyMemberType

Ottiene un valore MemberTypes che indica che questo membro è una proprietà.(Esegue l'override di MemberInfo.MemberType.)

System_CAPS_pubpropertyMetadataToken

Ottiene un valore che identifica un elemento di metadati.(Ereditato da MemberInfo.)

System_CAPS_pubpropertyModule

Ottiene il modulo in cui il tipo che dichiara il membro rappresentato dall'oggetto corrente MemberInfo è definito.(Ereditato da MemberInfo.)

System_CAPS_pubpropertyName

Ottiene il nome del membro corrente.(Ereditato da MemberInfo.)

System_CAPS_pubpropertyPropertyType

Ottiene il tipo della proprietà.

System_CAPS_pubpropertyReflectedType

Ottiene l'oggetto classe usato per ottenere questa istanza di MemberInfo.(Ereditato da MemberInfo.)

System_CAPS_pubpropertySetMethod

Ottiene la funzione di accesso set per questa proprietà.

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.(Esegue l'override di MemberInfo.Equals(Object).)

System_CAPS_protmethodFinalize()

Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection.(Ereditato da Object.)

System_CAPS_pubmethodGetAccessors()

Restituisce una matrice i cui elementi riflettono le funzioni di accesso get e set pubbliche della proprietà riflesse dall'istanza corrente.

System_CAPS_pubmethodGetAccessors(Boolean)

Restituisce una matrice i cui elementi riflettono le funzioni di accesso gete set pubbliche e, se specificato, non pubbliche della proprietà riflesse dall'istanza corrente.

System_CAPS_pubmethodGetConstantValue()

Restituisce un valore letterale associato alla proprietà da un compilatore.

System_CAPS_pubmethodGetCustomAttributes(Boolean)

Quando sottoposto a override in una classe derivata, restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro.(Ereditato da MemberInfo.)

System_CAPS_pubmethodGetCustomAttributes(Type, Boolean)

Quando viene sottoposto a override in una classe derivata, questo metodo restituisce una matrice di attributi personalizzati applicati a questo membro e identificati da Type.(Ereditato da MemberInfo.)

System_CAPS_pubmethodGetCustomAttributesData()

Restituisce un elenco di CustomAttributeData gli oggetti che rappresentano i dati sugli attributi applicati al membro di destinazione.(Ereditato da MemberInfo.)

System_CAPS_pubmethodGetGetMethod()

Restituisce la funzione di accesso get pubblica per questa proprietà.

System_CAPS_pubmethodGetGetMethod(Boolean)

Quando ne viene eseguito l'override in una classe derivata, restituisce la funzione di accesso get pubblica o non pubblica per la proprietà.

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per l'istanza.(Esegue l'override di MemberInfo.GetHashCode().)

System_CAPS_pubmethodGetIndexParameters()

Quando ne viene eseguito l'override in una classe derivata, restituisce una matrice di tutti i parametri di indice per la proprietà.

System_CAPS_pubmethodGetOptionalCustomModifiers()

Restituisce una matrice di tipi che rappresentano i modificatori personalizzati facoltativi della proprietà.

System_CAPS_pubmethodGetRawConstantValue()

Restituisce un valore letterale associato alla proprietà da un compilatore.

System_CAPS_pubmethodGetRequiredCustomModifiers()

Restituisce una matrice di tipi che rappresentano i modificatori personalizzati obbligatori della proprietà.

System_CAPS_pubmethodGetSetMethod()

Restituisce la funzione di accesso set pubblica per questa proprietà.

System_CAPS_pubmethodGetSetMethod(Boolean)

Quando ne viene eseguito l'override in una classe derivata, restituisce la funzione di accesso set per questa proprietà.

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodGetValue(Object)

Restituisce il valore della proprietà di un oggetto specificato.

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

Quando ne viene eseguito l'override in una classe derivata, restituisce il valore della proprietà di un oggetto specificato con il binding, l'indice e le informazioni specifiche delle impostazioni cultura indicati.

System_CAPS_pubmethodGetValue(Object, Object[])

Restituisce il valore della proprietà di un oggetto specificato, con valori di indice facoltativi per le proprietà indicizzate.

System_CAPS_pubmethodIsDefined(Type, Boolean)

Quando sottoposto a override in una classe derivata, indica se uno o più attributi del tipo specificato o dei relativi tipi derivati sono applicate a questo membro.(Ereditato da MemberInfo.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodSetValue(Object, Object)

Imposta il valore della proprietà di un oggetto specificato.

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

Quando ne viene eseguito l'override in una classe derivata, imposta il valore della proprietà per un oggetto specificato con il binding, l'indice e le informazioni specifiche delle impostazioni cultura indicati.

System_CAPS_pubmethodSetValue(Object, Object, Object[])

Imposta il valore della proprietà di un oggetto specificato con valori di indice facoltativi per le proprietà di indice.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente.(Ereditato da Object.)

NomeDescrizione
System_CAPS_puboperatorSystem_CAPS_staticEquality(PropertyInfo, PropertyInfo)

Indica se due oggetti PropertyInfo sono uguali.

System_CAPS_puboperatorSystem_CAPS_staticInequality(PropertyInfo, PropertyInfo)

Indica se due oggetti PropertyInfo non sono uguali.

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.(Ereditato da MemberInfo.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetType()

Ottiene un Type oggetto che rappresenta la MemberInfo classe.(Ereditato da MemberInfo.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.(Ereditato da MemberInfo.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).(Ereditato da MemberInfo.)

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

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.(Ereditato da MemberInfo.)

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.GetType()

Ottiene un oggetto Type che rappresenta il tipo PropertyInfo.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_PropertyInfo.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

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

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

NomeDescrizione
System_CAPS_pubmethodGetCustomAttribute(Type)

Sottoposto a overload. Recupera un attributo personalizzato di un tipo specificato viene applicato a un membro specificato.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute(Type, Boolean)

Sottoposto a overload. Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e, facoltativamente, esamina i predecessori di tale membro.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>()

Sottoposto a overload. Recupera un attributo personalizzato di un tipo specificato viene applicato a un membro specificato.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttribute<T>(Boolean)

Sottoposto a overload. Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e, facoltativamente, esamina i predecessori di tale membro.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes()

Sottoposto a overload. Recupera una raccolta di attributi personalizzati applicati a un membro specificato.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes(Type)

Sottoposto a overload. Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicate a un membro specificato.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodGetCustomAttributes<T>(Boolean)

Sottoposto a overload. Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicate a un membro specificato e, facoltativamente, esamina i predecessori di tale membro.(Definito da CustomAttributeExtensions.)

System_CAPS_pubmethodIsDefined(Type)

Sottoposto a overload. Indica se gli attributi personalizzati di un tipo specificato vengono applicati a un membro specificato.(Definito da CustomAttributeExtensions.)

Proprietà sono logicamente gli stessi campi. Una proprietà è un aspetto denominato dello stato di un oggetto il cui valore è generalmente accessibile tramite get e set le funzioni di accesso. Proprietà possono essere di sola lettura, nel qual caso non è supportata una set di routine.

System_CAPS_noteNota

Per determinare se una proprietà è static, è necessario ottenere il MethodInfo per il get o set funzione di accesso, chiamando il GetGetMethod o GetSetMethod (metodo) ed esaminare la IsStatic proprietà.

Diversi metodi in questa classe presuppongono che il get della funzione di accesso e set metodi di accesso di una proprietà abbiano determinati formati. Le firme del get e set metodi devono corrispondere alla convenzione seguente:

  • Il tipo restituito di get metodo e l'ultimo argomento del set metodo deve essere identico. Questo è il tipo della proprietà.

  • Il get e set metodi devono avere lo stesso numero, tipo e ordine di indici.

Se non si rispetta questo formato, il comportamento della GetValue e SetValue metodi è definito.

Chiamata ICustomAttributeProvider.GetCustomAttributes su PropertyInfo quando il inherit parametro GetCustomAttributes è true non segue la gerarchia dei tipi. Utilizzare System.Attribute per ereditare gli attributi personalizzati.

Note per gli eredi:

Quando si eredita da PropertyInfo, è necessario eseguire l'override dei seguenti membri: GetValue, SetValue, GetAccessors, GetGetMethod, GetSetMethod, e GetIndexParameters.

In questo esempio viene illustrato come utilizzare diverse classi di reflection per analizzare i metadati contenuti in un assembly.

System_CAPS_noteNota

Questo esempio genera circa 55.000 righe di dati, è possibile reindirizzare a un file di testo al prompt dei comandi, come indicato di seguito: 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
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

Questo tipo è thread-safe.

Torna all'inizio
Mostra: