Partager via


FieldInfo Classe

Définition

Identifie les attributs d'un champ et donne accès aux métadonnées du champ.

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
Héritage
FieldInfo
Dérivé
Attributs
Implémente

Exemples

L’exemple suivant utilise la Type.GetFields méthode pour obtenir les informations relatives aux champs de la FieldInfo classe, puis affiche les attributs de champ.

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

Remarques

Les informations de champ sont obtenues à partir de métadonnées. La FieldInfo classe n’a pas de constructeur public. FieldInfo les objets sont obtenus en appelant la GetFields méthode ou GetField d’un Type objet.

Les champs sont des variables définies dans la classe . FieldInfo fournit l’accès aux métadonnées d’un champ au sein d’une classe et fournit des fonctionnalités dynamiques d’ensemble et d’obtention pour le champ. La classe n’est pas chargée en mémoire tant que l’appel ou l’obtention n’est pas appelé sur l’objet.

Notes pour les responsables de l’implémentation

Lorsque vous héritez de FieldInfo, vous devez substituer les membres suivants : GetValue(Object) et SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Constructeurs

FieldInfo()

Initialise une nouvelle instance de la classe FieldInfo.

Propriétés

Attributes

Obtient les attributs associés à ce champ.

CustomAttributes

Obtient une collection qui contient les attributs personnalisés de ce membre.

(Hérité de MemberInfo)
DeclaringType

Obtient la classe qui déclare ce membre.

(Hérité de MemberInfo)
FieldHandle

Obtient RuntimeFieldHandle qui est un handle vers la représentation interne des métadonnées d'un champ.

FieldType

Obtient le type de cet objet champ.

IsAssembly

Obtient une valeur indiquant si la visibilité potentielle de ce champ est décrite par Assembly, c'est-à-dire si le champ est visible au maximum par d'autres types du même assembly, et n'est pas visible par des types dérivés à l'extérieur de l'assembly.

IsCollectible

Obtient une valeur qui indique si cet objet MemberInfo fait partie d’un assembly contenu dans un AssemblyLoadContext pouvant être collecté.

(Hérité de MemberInfo)
IsFamily

Obtient une valeur indiquant si la visibilité de ce champ est décrite par Family, c'est-à-dire si le champ est visible uniquement dans sa classe et dans ses classes dérivées.

IsFamilyAndAssembly

Obtient une valeur indiquant si la visibilité de ce champ est décrite par FamANDAssem, c'est-à-dire si le champ peut faire l'objet d'un accès par des classes dérivées, mais uniquement si elles se trouvent dans le même assembly.

IsFamilyOrAssembly

Obtient une valeur indiquant si la visibilité potentielle de ce champ est décrite par FamORAssem, c'est-à-dire si le champ peut faire l'objet d'un accès par des classes dérivées où qu'elles se trouvent, et par des classes du même assembly.

IsInitOnly

Obtient une valeur indiquant si le champ peut uniquement être défini dans le corps du constructeur.

IsLiteral

Obtient une valeur indiquant si la valeur est écrite au moment de la compilation et si elle n'est pas modifiable.

IsNotSerialized
Obsolète.

Obtient une valeur indiquant si ce champ est doté de l'attribut NotSerialized.

IsPinvokeImpl

Obtient une valeur indiquant si l'attribut PinvokeImpl correspondant est défini dans FieldAttributes.

IsPrivate

Obtient une valeur indiquant si le champ est privé.

IsPublic

Obtient une valeur indiquant si le champ est public.

IsSecurityCritical

Obtient une valeur qui indique si le champ actuel est critique de sécurité (security-critical) ou critique sécurisé (security-safe-critical) au niveau de confiance actuel.

IsSecuritySafeCritical

Obtient une valeur qui indique si le champ actuel est critique sécurisé au niveau de confiance actuel.

IsSecurityTransparent

Obtient une valeur qui indique si le champ actuel est transparent au niveau de confiance actuel.

IsSpecialName

Obtient une valeur indiquant si l'attribut SpecialName correspondant est défini dans l'énumérateur FieldAttributes.

IsStatic

Obtient une valeur indiquant si le champ est statique.

MemberType

Obtient une valeur MemberTypes indiquant que ce membre est un champ.

MemberType

En cas de substitution dans une classe dérivée, récupère une valeur MemberTypes indiquant le type du membre (méthode, constructeur, événement, etc.).

(Hérité de MemberInfo)
MetadataToken

Obtient une valeur qui identifie un élément de métadonnées.

(Hérité de MemberInfo)
Module

Obtient le module dans lequel le type qui déclare le membre représenté par le MemberInfo actuel est défini.

(Hérité de MemberInfo)
Name

Obtient le nom du membre actuel.

(Hérité de MemberInfo)
ReflectedType

Obtient l'objet classe utilisé pour obtenir cette instance de MemberInfo.

(Hérité de MemberInfo)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de MemberInfo)
GetCustomAttributes(Boolean)

En cas de substitution dans une classe dérivée, retourne un tableau de tous les attributs personnalisés appliqués à ce membre.

(Hérité de MemberInfo)
GetCustomAttributes(Type, Boolean)

En cas de substitution dans une classe dérivée, retourne un tableau d’attributs personnalisés appliqués à ce membre et identifiés par Type.

(Hérité de MemberInfo)
GetCustomAttributesData()

Renvoie une liste d’objets CustomAttributeData représentant des données sur les attributs qui ont été appliqués au membre cible.

(Hérité de MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Obtient FieldInfo pour le champ représenté par le handle spécifié.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Obtient FieldInfo pour le champ représenté par le handle spécifié, pour le type générique donné.

GetHashCode()

Retourne le code de hachage de cette instance.

GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de MemberInfo)
GetModifiedFieldType()

Obtient le type modifié de cet objet de champ.

GetOptionalCustomModifiers()

Obtient un tableau de types identifiant les modificateurs personnalisés facultatifs du champ.

GetRawConstantValue()

Retourne une valeur littérale associée au champ par un compilateur.

GetRequiredCustomModifiers()

Obtient un tableau de types identifiant les modificateurs personnalisés requis de la propriété.

GetType()

Identifie les attributs d’un champ de classe et donne accès à ses métadonnées.

GetType()

Identifie les attributs d’un membre et donne accès à ses métadonnées.

(Hérité de MemberInfo)
GetValue(Object)

En cas de substitution dans une classe dérivée, retourne la valeur d’un champ pris en charge par un objet donné.

GetValueDirect(TypedReference)

Retourne la valeur d'un champ pris en charge par un objet donné.

HasSameMetadataDefinitionAs(MemberInfo)

Identifie les attributs d'un champ et donne accès aux métadonnées du champ.

(Hérité de MemberInfo)
IsDefined(Type, Boolean)

En cas de substitution dans une classe dérivée, indique si un ou plusieurs attributs du type spécifié ou de ses types dérivés sont appliqués à ce membre.

(Hérité de MemberInfo)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
SetValue(Object, Object)

Définit la valeur du champ pris en charge par l’objet donné.

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

En cas de substitution dans une classe dérivée, définit la valeur du champ pris en charge par l'objet donné.

SetValueDirect(TypedReference, Object)

Définit la valeur du champ pris en charge par l’objet donné.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Opérateurs

Equality(FieldInfo, FieldInfo)

Indique si deux objets FieldInfo sont égaux.

Inequality(FieldInfo, FieldInfo)

Indique si deux objets FieldInfo ne sont pas égaux.

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

_FieldInfo.GetType()

Obtient un objet Type qui représente le type FieldInfo.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.

_FieldInfo.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

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

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de MemberInfo)
_MemberInfo.GetType()

Obtient un objet Type représentant la classe MemberInfo.

(Hérité de MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.

(Hérité de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Retourne un tableau de tous les attributs personnalisés définis sur ce membre, en dehors des attributs nommés, ou un tableau vide s’il n’y a aucun attribut personnalisé.

(Hérité de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Retourne un tableau d’attributs personnalisés définis sur ce membre, identifiés par type, ou un tableau vide s’il n’y a aucun attribut personnalisé de ce type.

(Hérité de MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indique si une ou plusieurs instances de attributeType sont définies sur ce membre.

(Hérité de MemberInfo)

Méthodes d’extension

GetCustomAttribute(MemberInfo, Type)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié.

GetCustomAttribute(MemberInfo, Type, Boolean)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttribute<T>(MemberInfo)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié.

GetCustomAttribute<T>(MemberInfo, Boolean)

Récupère un attribut personnalisé d'un type spécifié qui est appliqué à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes(MemberInfo)

Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié.

GetCustomAttributes(MemberInfo, Boolean)

Récupère une collection d'attributs personnalisés qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes(MemberInfo, Type)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié.

GetCustomAttributes(MemberInfo, Type, Boolean)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

GetCustomAttributes<T>(MemberInfo)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié.

GetCustomAttributes<T>(MemberInfo, Boolean)

Extrait une collection d'attributs personnalisés d'un type spécifié qui sont appliqués à un membre spécifié, et inspecte éventuellement les ancêtres de ce membre.

IsDefined(MemberInfo, Type)

Indique si des attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié.

IsDefined(MemberInfo, Type, Boolean)

Indique si les attributs personnalisés d'un type spécifié sont appliqués à un membre spécifié, et, éventuellement, appliqués à ses ancêtres.

GetMetadataToken(MemberInfo)

Obtient un jeton de métadonnées pour le membre donné, s’il est disponible.

HasMetadataToken(MemberInfo)

Retourne une valeur qui indique si un jeton de métadonnées est disponible pour le membre spécifié.

S’applique à

Cohérence de thread

Ce type est thread-safe.

Voir aussi