Sdílet prostřednictvím


FieldInfo Třída

Definice

Zjistí atributy pole a poskytuje přístup k metadatům polí.

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
Dědičnost
FieldInfo
Odvozené
Atributy
Implementuje

Příklady

Následující příklad používá metodu Type.GetFields k získání informací souvisejících s polem FieldInfo z třídy a poté zobrazí atributy pole.

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

Poznámky

Informace o poli se získávají z metadat. Třída FieldInfo nemá veřejný konstruktor. FieldInfo objekty jsou získány voláním GetFields metody nebo GetField objektu Type .

Pole jsou proměnné definované ve třídě . FieldInfo poskytuje přístup k metadatům pro pole v rámci třídy a poskytuje dynamické sady a funkce get pro pole. Třída není načtena do paměti, dokud není vyvolána nebo get na objektu.

Poznámky pro implementátory

Když dědíte z FieldInfo, musíte přepsat následující členy: GetValue(Object) a SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Konstruktory

FieldInfo()

Inicializuje novou instanci FieldInfo třídy .

Vlastnosti

Attributes

Získá atributy přidružené k tomuto poli.

CustomAttributes

Získá kolekci, která obsahuje vlastní atributy tohoto člena.

(Zděděno od MemberInfo)
DeclaringType

Získá třídu, která deklaruje tento člen.

(Zděděno od MemberInfo)
FieldHandle

RuntimeFieldHandleZíská , což je popisovač pro interní metadata reprezentaci pole.

FieldType

Získá typ tohoto pole objektu.

IsAssembly

Získá hodnotu označující, zda potenciální viditelnost tohoto pole je popsána ; Assemblyto znamená, že pole je viditelné nejvýše pro jiné typy ve stejném sestavení a není viditelné pro odvozené typy mimo sestavení.

IsCollectible

Získá hodnotu, která označuje, zda je tento MemberInfo objekt součástí sestavení uchovávaného v collectible AssemblyLoadContext.

(Zděděno od MemberInfo)
IsFamily

Získá hodnotu označující, zda viditelnost tohoto pole je popsána ; Familyto znamená, že pole je viditelné pouze v rámci své třídy a odvozené třídy.

IsFamilyAndAssembly

Získá hodnotu označující, zda viditelnost tohoto pole je popsána ; FamANDAssemto znamená, že pole lze přistupovat z odvozených tříd, ale pouze pokud jsou ve stejném sestavení.

IsFamilyOrAssembly

Získá hodnotu označující, zda potenciální viditelnost tohoto pole je popsána ; FamORAssemto znamená, že pole lze přistupovat odvozené třídy bez ohledu na to, kde jsou, a podle tříd ve stejném sestavení.

IsInitOnly

Získá hodnotu označující, zda pole lze nastavit pouze v těle konstruktoru.

IsLiteral

Získá hodnotu označující, zda je hodnota zapsána v době kompilace a nelze změnit.

IsNotSerialized
Zastaralé.

Získá hodnotu označující, zda má NotSerialized toto pole atribut.

IsPinvokeImpl

Získá hodnotu označující, zda PinvokeImpl odpovídající atribut je nastaven v FieldAttributes.

IsPrivate

Získá hodnotu označující, zda je pole soukromé.

IsPublic

Získá hodnotu označující, zda je pole veřejné.

IsSecurityCritical

Získá hodnotu, která označuje, zda aktuální pole je kritické zabezpečení nebo bezpečné-kritické zabezpečení na aktuální úrovni důvěryhodnosti.

IsSecuritySafeCritical

Získá hodnotu, která označuje, zda aktuální pole je zabezpečení-kritické zabezpečení na aktuální úrovni důvěryhodnosti.

IsSecurityTransparent

Získá hodnotu, která označuje, zda aktuální pole je transparentní na aktuální úrovni důvěryhodnosti.

IsSpecialName

Získá hodnotu označující, zda odpovídající SpecialName atribut je nastaven v FieldAttributes enumerátoru.

IsStatic

Získá hodnotu označující, zda je pole statické.

MemberType

MemberTypes Získá hodnotu označující, že tento člen je pole.

MemberType

Při přepsání v odvozené třídě získá MemberTypes hodnotu označující typ členu – metoda, konstruktor, událost atd.

(Zděděno od MemberInfo)
MetadataToken

Získá hodnotu, která identifikuje prvek metadat.

(Zděděno od MemberInfo)
Module

Získá modul, ve kterém je definován typ, který deklaruje člen reprezentovaný aktuální MemberInfo .

(Zděděno od MemberInfo)
Name

Získá název aktuálního člena.

(Zděděno od MemberInfo)
ReflectedType

Získá objekt třídy, který byl použit k získání této instance .MemberInfo

(Zděděno od MemberInfo)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od MemberInfo)
GetCustomAttributes(Boolean)

Při přepsání v odvozené třídě vrátí pole všech vlastních atributů použitých pro tento člen.

(Zděděno od MemberInfo)
GetCustomAttributes(Type, Boolean)

Při přepsání v odvozené třídě vrátí pole vlastních atributů použitých u tohoto člena a identifikovaných pomocí Type.

(Zděděno od MemberInfo)
GetCustomAttributesData()

Vrátí seznam CustomAttributeData objektů představujících data o atributech, které byly použity na cílového člena.

(Zděděno od MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

FieldInfo Získá pro pole reprezentované zadaným popisovačem.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

FieldInfo Získá pro pole reprezentované zadaným popisovačem pro zadaný obecný typ.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od MemberInfo)
GetModifiedFieldType()

Získá změněný typ tohoto pole objektu.

GetOptionalCustomModifiers()

Získá pole typů, které identifikují volitelné vlastní modifikátory pole.

GetRawConstantValue()

Vrátí hodnotu literálu přidruženou k poli kompilátorem.

GetRequiredCustomModifiers()

Získá pole typů, které identifikují požadované vlastní modifikátory vlastnosti.

GetType()

Zjistí atributy pole třídy a poskytuje přístup k metadatům pole.

GetType()

Zjistí atributy člena a poskytuje přístup k metadatům člena.

(Zděděno od MemberInfo)
GetValue(Object)

Při přepsání v odvozené třídě vrátí hodnotu pole podporovaného daným objektem.

GetValueDirect(TypedReference)

Vrátí hodnotu pole podporovaného daným objektem.

HasSameMetadataDefinitionAs(MemberInfo)

Zjistí atributy pole a poskytuje přístup k metadatům polí.

(Zděděno od MemberInfo)
IsDefined(Type, Boolean)

Při přepsání v odvozené třídě, označuje, zda jeden nebo více atributů zadaného typu nebo jeho odvozených typů je použito na tento člen.

(Zděděno od MemberInfo)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
SetValue(Object, Object)

Nastaví hodnotu pole podporovaného daným objektem.

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

Při přepsání v odvozené třídě nastaví hodnotu pole podporovaného daným objektem.

SetValueDirect(TypedReference, Object)

Nastaví hodnotu pole podporovaného daným objektem.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Operátory

Equality(FieldInfo, FieldInfo)

Určuje, zda jsou dva FieldInfo objekty stejné.

Inequality(FieldInfo, FieldInfo)

Určuje, zda se dva FieldInfo objekty nerovnají.

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

_FieldInfo.GetType()

Type Získá objekt představující FieldInfo typ.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

_FieldInfo.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

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

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od MemberInfo)
_MemberInfo.GetType()

Type Získá objekt představující MemberInfo třídu .

(Zděděno od MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Vrátí pole všech vlastních atributů definovaných v tomto členu, s výjimkou pojmenovaných atributů, nebo prázdné pole, pokud neexistují žádné vlastní atributy.

(Zděděno od MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Vrátí pole vlastních atributů definovaných v tomto členu, identifikované typem nebo prázdné pole, pokud neexistují žádné vlastní atributy tohoto typu.

(Zděděno od MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Určuje, zda je u tohoto člena attributeType definována jedna nebo více instancí.

(Zděděno od MemberInfo)

Metody rozšíření

GetCustomAttribute(MemberInfo, Type)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen.

GetCustomAttribute(MemberInfo, Type, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen, a volitelně zkontroluje předky tohoto člena.

GetCustomAttribute<T>(MemberInfo)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen.

GetCustomAttribute<T>(MemberInfo, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes(MemberInfo)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Boolean)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes(MemberInfo, Type)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Type, Boolean)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes<T>(MemberInfo)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes<T>(MemberInfo, Boolean)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

IsDefined(MemberInfo, Type)

Určuje, zda jsou na zadaný člen použity vlastní atributy zadaného typu.

IsDefined(MemberInfo, Type, Boolean)

Určuje, zda vlastní atributy zadaného typu jsou použity na zadaného člena a volitelně použity na jeho nadřazené položky.

GetMetadataToken(MemberInfo)

Získá token metadat pro daný člen, pokud je k dispozici.

HasMetadataToken(MemberInfo)

Vrátí hodnotu, která označuje, zda je token metadat k dispozici pro zadaného člena.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.

Viz také