FieldInfo Classe

Definizione

Individua gli attributi di un campo e consente di accedere ai relativi metadati.

public ref class FieldInfo abstract : System::Reflection::MemberInfo
public ref class FieldInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_FieldInfo
public abstract class FieldInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
type FieldInfo = class
    inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type FieldInfo = class
    inherit MemberInfo
    interface _FieldInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldInfo = class
    inherit MemberInfo
    interface _FieldInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Implements _FieldInfo
Ereditarietà
FieldInfo
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene utilizzato il Type.GetFields metodo per ottenere le informazioni relative al campo dalla FieldInfo classe e quindi visualizzare gli attributi del campo.

using namespace System;
using namespace System::Reflection;
public ref class FieldInfoClass
{
public:
   int myField1;

protected:
   String^ myField2;
};

int main()
{
   array<FieldInfo^>^myFieldInfo;
   Type^ myType = FieldInfoClass::typeid;

   // Get the type and fields of FieldInfoClass.
   myFieldInfo = myType->GetFields( static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance | BindingFlags::Public) );
   Console::WriteLine( "\nThe fields of FieldInfoClass are \n" );

   // Display the field information of FieldInfoClass.
   for ( int i = 0; i < myFieldInfo->Length; i++ )
   {
      Console::WriteLine( "\nName            : {0}", myFieldInfo[ i ]->Name );
      Console::WriteLine( "Declaring Type  : {0}", myFieldInfo[ i ]->DeclaringType );
      Console::WriteLine( "IsPublic        : {0}", myFieldInfo[ i ]->IsPublic );
      Console::WriteLine( "MemberType      : {0}", myFieldInfo[ i ]->MemberType );
      Console::WriteLine( "FieldType       : {0}", myFieldInfo[ i ]->FieldType );
      Console::WriteLine( "IsFamily        : {0}", myFieldInfo[ i ]->IsFamily );
   }
}
using System;
using System.Reflection;

public class FieldInfoClass
{
    public int myField1 = 0;
    protected string myField2 = null;
    public static void Main()
    {
        FieldInfo[] myFieldInfo;
        Type myType = typeof(FieldInfoClass);
        // Get the type and fields of FieldInfoClass.
        myFieldInfo = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance
            | BindingFlags.Public);
        Console.WriteLine("\nThe fields of " +
            "FieldInfoClass are \n");
        // Display the field information of FieldInfoClass.
        for(int i = 0; i < myFieldInfo.Length; i++)
        {
            Console.WriteLine("\nName            : {0}", myFieldInfo[i].Name);
            Console.WriteLine("Declaring Type  : {0}", myFieldInfo[i].DeclaringType);
            Console.WriteLine("IsPublic        : {0}", myFieldInfo[i].IsPublic);
            Console.WriteLine("MemberType      : {0}", myFieldInfo[i].MemberType);
            Console.WriteLine("FieldType       : {0}", myFieldInfo[i].FieldType);
            Console.WriteLine("IsFamily        : {0}", myFieldInfo[i].IsFamily);
        }
    }
}
Imports System.Reflection

Public Class FieldInfoClass
    Public myField1 As Integer = 0
    Protected myField2 As String = Nothing

    Public Shared Sub Main()
        Dim myFieldInfo() As FieldInfo
        Dim myType As Type = GetType(FieldInfoClass)
        ' Get the type and fields of FieldInfoClass.
        myFieldInfo = myType.GetFields(BindingFlags.NonPublic Or _
                      BindingFlags.Instance Or BindingFlags.Public)
        Console.WriteLine(ControlChars.NewLine & "The fields of " & _
                      "FieldInfoClass class are " & ControlChars.NewLine)
        ' Display the field information of FieldInfoClass.
        Dim i As Integer
        For i = 0 To myFieldInfo.Length - 1
            Console.WriteLine(ControlChars.NewLine + "Name            : {0}", myFieldInfo(i).Name)
            Console.WriteLine("Declaring Type  : {0}", myFieldInfo(i).DeclaringType)
            Console.WriteLine("IsPublic        : {0}", myFieldInfo(i).IsPublic)
            Console.WriteLine("MemberType      : {0}", myFieldInfo(i).MemberType)
            Console.WriteLine("FieldType       : {0}", myFieldInfo(i).FieldType)
            Console.WriteLine("IsFamily        : {0}", myFieldInfo(i).IsFamily)
        Next i
    End Sub
End Class

Commenti

Le informazioni sul campo vengono ottenute dai metadati. La FieldInfo classe non dispone di un costruttore pubblico. FieldInfo gli oggetti vengono ottenuti chiamando il GetFields metodo o GetField di un Type oggetto .

I campi sono variabili definite nella classe . FieldInfo fornisce l'accesso ai metadati per un campo all'interno di una classe e fornisce un set dinamico e una funzionalità get per il campo. La classe non viene caricata in memoria fino a quando non viene chiamato invoke o get sull'oggetto .

Note per gli implementatori

Quando si eredita da FieldInfo, è necessario eseguire l'override dei seguenti membri: GetValue(Object) e SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Costruttori

FieldInfo()

Inizializza una nuova istanza della classe FieldInfo.

Proprietà

Attributes

Ottiene gli attributi associati a questo campo.

CustomAttributes

Ottiene una raccolta che contiene gli attributi personalizzati del membro.

(Ereditato da MemberInfo)
DeclaringType

Ottiene la classe che dichiara questo membro.

(Ereditato da MemberInfo)
FieldHandle

Ottiene un oggetto RuntimeFieldHandle, che è un handle della rappresentazione dei metadati interni di un campo.

FieldType

Ottiene il tipo di questo oggetto campo.

IsAssembly

Ottiene un valore che indica se la visibilità potenziale di questo campo è descritta da Assembly, ovvero se il campo è visibile al massimo ad altri tipi dello stesso assembly, ma non ai tipi derivati all'esterno dell'assembly.

IsCollectible

Ottiene un valore che indica se questo oggetto MemberInfo fa parte di un assembly conservato in un AssemblyLoadContext ritirabile.

(Ereditato da MemberInfo)
IsFamily

Ottiene un valore che indica se la visibilità di questo campo è descritta da Family, ovvero se il campo è visibile solo all'interno della relativa classe e delle classi derivate.

IsFamilyAndAssembly

Ottiene un valore che indica se la visibilità di questo campo è descritta da FamANDAssem, ovvero se è possibile accedere al campo da classi derivate, ma solo se appartenenti allo stesso assembly.

IsFamilyOrAssembly

Ottiene un valore che indica se la visibilità potenziale di questo campo è descritta da FamORAssem, ovvero se è possibile accedere al campo da classi derivate indipendentemente dalla posizione e da classi appartenenti allo stesso assembly.

IsInitOnly

Ottiene un valore che indica se il campo può essere impostato solo nel corpo del costruttore.

IsLiteral

Ottiene un valore che indica se il valore viene scritto in fase di compilazione e non può essere modificato.

IsNotSerialized
Obsoleti.

Ottiene un valore che indica se questo campo dispone dell'attributo NotSerialized.

IsPinvokeImpl

Ottiene un valore che indica se l'attributo PinvokeImpl corrispondente è impostato su FieldAttributes.

IsPrivate

Ottiene un valore che indica se il campo è privato.

IsPublic

Ottiene un valore che indica se il campo è pubblico.

IsSecurityCritical

Ottiene un valore che indica se il campo corrente è critico per la sicurezza o security-safe-critical al livello di attendibilità corrente.

IsSecuritySafeCritical

Ottiene un valore che indica se il campo corrente è critico security-safe-critical al livello di attendibilità corrente.

IsSecurityTransparent

Ottiene un valore che indica se il campo corrente è trasparente al livello di attendibilità corrente.

IsSpecialName

Ottiene un valore che indica se l'attributo SpecialName corrispondente è impostato sull'enumeratore FieldAttributes.

IsStatic

Ottiene un valore che indica se il campo è statico.

MemberType

Ottiene un valore di MemberTypes che indica che questo membro è un campo.

MemberType

Quando viene eseguito l'override in una classe derivata, ottiene un valore MemberTypes che indica il tipo del membro, il metodo, il costruttore, l'evento e così via.

(Ereditato da MemberInfo)
MetadataToken

Ottiene un valore che identifica un elemento di metadati.

(Ereditato da MemberInfo)
Module

Ottiene il modulo in cui viene definito il tipo che dichiara il membro rappresentato dall'oggetto MemberInfo corrente.

(Ereditato da MemberInfo)
Name

Ottiene il nome del membro corrente.

(Ereditato da MemberInfo)
ReflectedType

Ottiene l'oggetto classe utilizzato per ottenere questa istanza di MemberInfo.

(Ereditato da MemberInfo)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da MemberInfo)
GetCustomAttributes(Boolean)

Se sottoposto a override in una classe derivata, restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro.

(Ereditato da MemberInfo)
GetCustomAttributes(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)
GetCustomAttributesData()

Restituisce un elenco di oggetti CustomAttributeData che rappresentano i dati relativi agli attributi applicati al membro di destinazione.

(Ereditato da MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Ottiene un oggetto FieldInfo per il campo rappresentato dall'handle specificato.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Ottiene un oggetto FieldInfo per il campo rappresentato dall'handle specificato, per il tipo generico specificato.

GetHashCode()

Restituisce il codice hash per l'istanza.

GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da MemberInfo)
GetModifiedFieldType()

Ottiene il tipo modificato di questo oggetto campo.

GetOptionalCustomModifiers()

Ottiene una matrice di tipi che identificano i modificatori personalizzati facoltativi del campo.

GetRawConstantValue()

Restituisce un valore letterale associato al campo da un compilatore.

GetRequiredCustomModifiers()

Ottiene una matrice di tipi che identificano i modificatori personalizzati obbligatori della proprietà.

GetType()

Individua gli attributi di un campo della classe e consente di accedere ai metadati del campo.

GetType()

Individua gli attributi di un membro e consente di accedere ai metadati del membro.

(Ereditato da MemberInfo)
GetValue(Object)

In caso di override in una classe derivata, restituisce il valore di un campo supportato da un determinato oggetto.

GetValueDirect(TypedReference)

Restituisce il valore di un campo supportato da un dato oggetto.

HasSameMetadataDefinitionAs(MemberInfo)

Individua gli attributi di un campo e consente di accedere ai relativi metadati.

(Ereditato da MemberInfo)
IsDefined(Type, Boolean)

Quando se ne effettua l'override in una classe derivata, indica se a questo membro sono applicati uno o più attributi del tipo specificato o dei tipi derivati.

(Ereditato da MemberInfo)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetValue(Object, Object)

Imposta il valore del campo supportato dall'oggetto specificato.

SetValue(Object, Object, BindingFlags, Binder, CultureInfo)

Quando se ne effettua l'override in una classe derivata, imposta il valore del campo supportato dall'oggetto dato.

SetValueDirect(TypedReference, Object)

Imposta il valore del campo supportato dall'oggetto specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Operatori

Equality(FieldInfo, FieldInfo)

Indica se due oggetti FieldInfo sono uguali.

Inequality(FieldInfo, FieldInfo)

Indica se due oggetti FieldInfo non sono uguali.

Implementazioni dell'interfaccia esplicita

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

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

_FieldInfo.GetType()

Ottiene un oggetto Type che rappresenta il tipo FieldInfo.

_FieldInfo.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.

_FieldInfo.GetTypeInfoCount(UInt32)

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

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

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

_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)
_MemberInfo.GetType()

Ottiene un oggetto Type che rappresenta la classe MemberInfo.

(Ereditato da MemberInfo)
_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)
_MemberInfo.GetTypeInfoCount(UInt32)

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

(Ereditato da MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

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

(Ereditato da MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Restituisce una matrice di tutti gli attributi personalizzati definiti in questo membro, esclusi gli attributi denominati, oppure una matrice vuota se non sono presenti attributi personalizzati.

(Ereditato da MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Restituisce una matrice di attributi personalizzati definiti in questo membro, identificati dal tipo o da una matrice vuota, se non sono presenti attributi personalizzati di quel tipo.

(Ereditato da MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indica se per questo membro sono definite una o più istanze di attributeType.

(Ereditato da MemberInfo)

Metodi di estensione

GetCustomAttribute(MemberInfo, Type)

Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato.

GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e verifica facoltativamente i predecessori di tale membro.

GetCustomAttribute<T>(MemberInfo)

Recupera una attributo personalizzato di un tipo specificato che viene applicato a un membro specificato.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera un attributo personalizzato di un tipo specificato che viene applicato a un membro specificato e verifica facoltativamente i predecessori di tale membro.

GetCustomAttributes(MemberInfo)

Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato.

GetCustomAttributes(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.

GetCustomAttributes(MemberInfo, Type)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.

GetCustomAttributes<T>(MemberInfo)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato che vengono applicati a un membro specificato e verifica facoltativamente i predecessori di tale membro.

IsDefined(MemberInfo, Type)

Indica se vengono applicati attributi personalizzati del tipo specificato a un membro specificato.

IsDefined(MemberInfo, Type, Boolean)

Indica se gli attributi personalizzati di un tipo specificato vengono applicati a un membro specificato e, facoltativamente, ai relativi predecessori.

GetMetadataToken(MemberInfo)

Ottiene un token di metadati per il membro specificato, se disponibile.

HasMetadataToken(MemberInfo)

Restituisce un valore che indica se un token di metadati è disponibile per il membro specificato.

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche