FieldInfo Classe

Definizione

Individua gli attributi di un campo e fornisce l'accesso ai metadati dei campi.

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 dei campi.

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 membri seguenti: GetValue(Object) e SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Costruttori

Nome Descrizione
FieldInfo()

Inizializza una nuova istanza della classe FieldInfo.

Proprietà

Nome Descrizione
Attributes

Ottiene gli attributi associati a questo campo.

CustomAttributes

Ottiene una raccolta contenente gli attributi personalizzati di questo membro.

(Ereditato da MemberInfo)
DeclaringType

Ottiene la classe che dichiara questo membro.

(Ereditato da MemberInfo)
FieldHandle

Ottiene un RuntimeFieldHandleoggetto , che è un handle per la rappresentazione interna dei metadati 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 il campo è visibile al massimo ad altri tipi nello stesso assembly e non è visibile ai tipi derivati all'esterno dell'assembly.

IsCollectible

Ottiene un valore che indica se questo MemberInfo oggetto fa riferimento a uno o più assembly contenuti in un oggetto collectible AssemblyLoadContext.

(Ereditato da MemberInfo)
IsFamily

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

IsFamilyAndAssembly

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

IsFamilyOrAssembly

Ottiene un valore che indica se la visibilità potenziale di questo campo è descritta da FamORAssem, ovvero è possibile accedere al campo da classi derivate ovunque si trovino e da classi nello 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 ha l'attributo NotSerialized .

IsPinvokeImpl

Ottiene un valore che indica se l'attributo corrispondente PinvokeImpl è impostato in 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 critico per la sicurezza a livello di attendibilità corrente.

IsSecuritySafeCritical

Ottiene un valore che indica se il campo corrente è critico per la sicurezza a livello di attendibilità corrente.

IsSecurityTransparent

Ottiene un valore che indica se il campo corrente è trasparente a livello di trust corrente.

IsSpecialName

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

IsStatic

Ottiene un valore che indica se il campo è statico.

MemberType

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

MetadataToken

Ottiene un valore che identifica un elemento di metadati.

(Ereditato da MemberInfo)
Module

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

(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

Nome Descrizione
Equals(Object)

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

GetCustomAttributes(Boolean)

Quando 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)

In caso di override in una classe derivata, restituisce una matrice di attributi personalizzati applicati a questo membro e identificata da Type.

(Ereditato da MemberInfo)
GetCustomAttributesData()

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

(Ereditato da MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

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

GetFieldFromHandle(RuntimeFieldHandle)

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

GetHashCode()

Restituisce il codice hash per questa istanza.

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 richiesti della proprietà.

GetType()

Individua gli attributi di un campo di classe e fornisce l'accesso ai metadati dei campi.

GetValue(Object)

Quando sottoposto a 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 oggetto specificato.

HasSameMetadataDefinitionAs(MemberInfo)

Individua gli attributi di un campo e fornisce l'accesso ai metadati dei campi.

(Ereditato da MemberInfo)
IsDefined(Type, Boolean)

In caso di override in una classe derivata, indica se uno o più attributi del tipo specificato o dei relativi tipi derivati vengono applicati a questo membro.

(Ereditato da MemberInfo)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

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

Quando sottoposto a override in una classe derivata, imposta il valore del campo supportato dall'oggetto specificato.

SetValue(Object, Object)

Imposta il valore del campo supportato dall'oggetto specificato.

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

Nome Descrizione
Equality(FieldInfo, FieldInfo)

Indica se due FieldInfo oggetti sono uguali.

Inequality(FieldInfo, FieldInfo)

Indica se due FieldInfo oggetti non sono uguali.

Implementazioni dell'interfaccia esplicita

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

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

_FieldInfo.GetType()

Ottiene un Type oggetto che rappresenta il FieldInfo tipo.

_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 di 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 alle proprietà e ai 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 identificatori dispatch.

(Ereditato da MemberInfo)
_MemberInfo.GetType()

Ottiene un Type oggetto che rappresenta la MemberInfo classe .

(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 di 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 alle proprietà e ai 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 o 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, identificato dal tipo o una matrice vuota se non sono presenti attributi personalizzati di tale tipo.

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

Indica se in questo membro è definita una o più istanze di attributeType .

(Ereditato da MemberInfo)

Metodi di estensione

Nome Descrizione
GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera un attributo personalizzato di un tipo specificato applicato a un membro specificato e, facoltativamente, controlla i predecessori di tale membro.

GetCustomAttribute(MemberInfo, Type)

Recupera un attributo personalizzato di un tipo specificato applicato a un membro specificato.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera un attributo personalizzato di un tipo specificato applicato a un membro specificato e, facoltativamente, controlla i predecessori di tale membro.

GetCustomAttribute<T>(MemberInfo)

Recupera un attributo personalizzato di un tipo specificato applicato a un membro specificato.

GetCustomAttributes(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati applicati a un membro specificato e, facoltativamente, controlla i predecessori di tale membro.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato applicato a un membro specificato e, facoltativamente, controlla i predecessori di tale membro.

GetCustomAttributes(MemberInfo, Type)

Recupera una raccolta di attributi personalizzati di un tipo specificato applicato a un membro specificato.

GetCustomAttributes(MemberInfo)

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

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera una raccolta di attributi personalizzati di un tipo specificato applicato a un membro specificato e, facoltativamente, controlla i predecessori di tale membro.

GetCustomAttributes<T>(MemberInfo)

Recupera una raccolta di attributi personalizzati di un tipo specificato applicato a un membro specificato.

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.

IsDefined(MemberInfo, Type, Boolean)

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

IsDefined(MemberInfo, Type)

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

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche