Udostępnij za pośrednictwem


FieldInfo Klasa

Definicja

Odnajduje atrybuty pola i zapewnia dostęp do metadanych pól.

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
Dziedziczenie
FieldInfo
Pochodne
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie użyto Type.GetFields metody , aby uzyskać informacje związane z polem z FieldInfo klasy, a następnie wyświetla atrybuty pól.

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

Uwagi

Informacje o polu są uzyskiwane z metadanych. Klasa FieldInfo nie ma publicznego konstruktora. FieldInfoobiekty są uzyskiwane przez wywołanie GetFields metody Type lub GetField obiektu.

Pola są zmiennymi zdefiniowanymi w klasie. FieldInfo zapewnia dostęp do metadanych dla pola w klasie i zapewnia zestaw dynamiczny oraz funkcje dla pola. Klasa nie jest ładowana do pamięci do momentu wywołania lub wywołania wywołania obiektu.

Uwagi dotyczące implementowania

Po dziedziczeniu z FieldInfoprogramu należy zastąpić następujące elementy członkowskie: GetValue(Object) i SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Konstruktory

FieldInfo()

Inicjuje nowe wystąpienie klasy FieldInfo.

Właściwości

Attributes

Pobiera atrybuty skojarzone z tym polem.

CustomAttributes

Pobiera kolekcję zawierającą atrybuty niestandardowe tego elementu członkowskiego.

(Odziedziczone po MemberInfo)
DeclaringType

Pobiera klasę, która deklaruje ten element członkowski.

(Odziedziczone po MemberInfo)
FieldHandle

Pobiera element RuntimeFieldHandle, który jest dojściem do wewnętrznej reprezentacji metadanych pola.

FieldType

Pobiera typ tego obiektu pola.

IsAssembly

Pobiera wartość wskazującą, czy potencjalna widoczność tego pola jest opisana przez Assemblyprogram ; oznacza to, że pole jest widoczne co najwyżej dla innych typów w tym samym zestawie i nie jest widoczne dla typów pochodnych poza zestawem.

IsCollectible

Pobiera wartość wskazującą, czy ten MemberInfo obiekt jest częścią zestawu przechowywanego w obiekcie zbieralnym AssemblyLoadContext.

(Odziedziczone po MemberInfo)
IsFamily

Pobiera wartość wskazującą, czy widoczność tego pola jest opisana przez Familyelement ; oznacza to, że pole jest widoczne tylko w jej klasie i klasach pochodnych.

IsFamilyAndAssembly

Pobiera wartość wskazującą, czy widoczność tego pola jest opisana przez FamANDAssemprogram ; oznacza to, że dostęp do pola można uzyskać z klas pochodnych, ale tylko wtedy, gdy znajdują się w tym samym zestawie.

IsFamilyOrAssembly

Pobiera wartość wskazującą, czy potencjalna widoczność tego pola jest opisana przez FamORAssemelement ; oznacza to, że dostęp do pola można uzyskać za pomocą klas pochodnych wszędzie tam, gdzie są, oraz przez klasy w tym samym zestawie.

IsInitOnly

Pobiera wartość wskazującą, czy pole można ustawić tylko w treści konstruktora.

IsLiteral

Pobiera wartość wskazującą, czy wartość jest zapisywana w czasie kompilacji i nie można jej zmienić.

IsNotSerialized
Przestarzałe.

Pobiera wartość wskazującą, czy to pole ma NotSerialized atrybut .

IsPinvokeImpl

Pobiera wartość wskazującą, czy odpowiedni PinvokeImpl atrybut jest ustawiony w pliku FieldAttributes.

IsPrivate

Pobiera wartość wskazującą, czy pole jest prywatne.

IsPublic

Pobiera wartość wskazującą, czy pole jest publiczne.

IsSecurityCritical

Pobiera wartość wskazującą, czy bieżące pole ma krytyczne znaczenie dla zabezpieczeń, czy bezpieczeństwo krytyczne dla bezpieczeństwa na bieżącym poziomie zaufania.

IsSecuritySafeCritical

Pobiera wartość wskazującą, czy bieżące pole jest krytyczne dla bezpieczeństwa na bieżącym poziomie zaufania.

IsSecurityTransparent

Pobiera wartość wskazującą, czy bieżące pole jest przezroczyste na bieżącym poziomie zaufania.

IsSpecialName

Pobiera wartość wskazującą, czy odpowiedni SpecialName atrybut jest ustawiony w FieldAttributes wyliczaniu.

IsStatic

Pobiera wartość wskazującą, czy pole jest statyczne.

MemberType

Pobiera wartość wskazującą MemberTypes , że ten element członkowski jest polem.

MemberType

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą MemberTypes typ składowej — metoda, konstruktor, zdarzenie itd.

(Odziedziczone po MemberInfo)
MetadataToken

Pobiera wartość identyfikującą element metadanych.

(Odziedziczone po MemberInfo)
Module

Pobiera moduł, w którym typ, który deklaruje element członkowski reprezentowany przez bieżący MemberInfo jest zdefiniowany.

(Odziedziczone po MemberInfo)
Name

Pobiera nazwę bieżącego elementu członkowskiego.

(Odziedziczone po MemberInfo)
ReflectedType

Pobiera obiekt klasy, który został użyty do uzyskania tego wystąpienia klasy MemberInfo.

(Odziedziczone po MemberInfo)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po MemberInfo)
GetCustomAttributes(Boolean)

Po zastąpieniu w klasie pochodnej zwraca tablicę wszystkich atrybutów niestandardowych zastosowanych do tego elementu członkowskiego.

(Odziedziczone po MemberInfo)
GetCustomAttributes(Type, Boolean)

Po przesłonięciu w klasie pochodnej zwraca tablicę atrybutów niestandardowych zastosowanych do tego elementu członkowskiego i zidentyfikowaną przez Typeelement .

(Odziedziczone po MemberInfo)
GetCustomAttributesData()

Zwraca listę CustomAttributeData obiektów reprezentujących dane dotyczące atrybutów, które zostały zastosowane do elementu docelowego.

(Odziedziczone po MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle)

Pobiera wartość FieldInfo dla pola reprezentowanego przez określony uchwyt.

GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Pobiera wartość FieldInfo dla pola reprezentowanego przez określony uchwyt dla określonego typu ogólnego.

GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po MemberInfo)
GetModifiedFieldType()

Pobiera zmodyfikowany typ tego obiektu pola.

GetOptionalCustomModifiers()

Pobiera tablicę typów identyfikujących opcjonalne modyfikatory niestandardowe pola.

GetRawConstantValue()

Zwraca wartość literału skojarzona z polem przez kompilator.

GetRequiredCustomModifiers()

Pobiera tablicę typów identyfikujących wymagane modyfikatory niestandardowe właściwości.

GetType()

Odnajduje atrybuty pola klasy i zapewnia dostęp do metadanych pola.

GetType()

Odnajduje atrybuty elementu członkowskiego i zapewnia dostęp do metadanych składowych.

(Odziedziczone po MemberInfo)
GetValue(Object)

Po zastąpieniu w klasie pochodnej zwraca wartość pola obsługiwanego przez dany obiekt.

GetValueDirect(TypedReference)

Zwraca wartość pola obsługiwanego przez dany obiekt.

HasSameMetadataDefinitionAs(MemberInfo)

Odnajduje atrybuty pola i zapewnia dostęp do metadanych pól.

(Odziedziczone po MemberInfo)
IsDefined(Type, Boolean)

Po przesłonięciu w klasie pochodnej wskazuje, czy do tego elementu członkowskiego zastosowano co najmniej jeden atrybut określonego typu lub jego typów pochodnych.

(Odziedziczone po MemberInfo)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SetValue(Object, Object)

Ustawia wartość pola obsługiwanego przez dany obiekt.

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

Po zastąpieniu w klasie pochodnej ustawia wartość pola obsługiwanego przez dany obiekt.

SetValueDirect(TypedReference, Object)

Ustawia wartość pola obsługiwanego przez dany obiekt.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Operatory

Equality(FieldInfo, FieldInfo)

Wskazuje, czy dwa FieldInfo obiekty są równe.

Inequality(FieldInfo, FieldInfo)

Wskazuje, czy dwa FieldInfo obiekty nie są równe.

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

_FieldInfo.GetType()

Type Pobiera obiekt reprezentujący FieldInfo typ.

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu.

_FieldInfo.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

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

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po MemberInfo)
_MemberInfo.GetType()

Type Pobiera obiekt reprezentujący klasęMemberInfo.

(Odziedziczone po MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu.

(Odziedziczone po MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Zwraca tablicę wszystkich atrybutów niestandardowych zdefiniowanych w tym elemencie członkowskim, z wyłączeniem nazwanych atrybutów lub pustą tablicą, jeśli nie ma atrybutów niestandardowych.

(Odziedziczone po MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Zwraca tablicę atrybutów niestandardowych zdefiniowanych na tym elemencie członkowskim, identyfikowaną przez typ lub pustą tablicę, jeśli nie ma atrybutów niestandardowych tego typu.

(Odziedziczone po MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Wskazuje, czy na tym elemencie członkowskim zdefiniowano jedno lub więcej wystąpień attributeType .

(Odziedziczone po MemberInfo)

Metody rozszerzania

GetCustomAttribute(MemberInfo, Type)

Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego.

GetCustomAttribute(MemberInfo, Type, Boolean)

Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego.

GetCustomAttribute<T>(MemberInfo)

Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego.

GetCustomAttribute<T>(MemberInfo, Boolean)

Pobiera atrybut niestandardowy określonego typu, który jest stosowany do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego.

GetCustomAttributes(MemberInfo)

Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego.

GetCustomAttributes(MemberInfo, Boolean)

Pobiera kolekcję atrybutów niestandardowych, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego.

GetCustomAttributes(MemberInfo, Type)

Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego.

GetCustomAttributes(MemberInfo, Type, Boolean)

Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego.

GetCustomAttributes<T>(MemberInfo)

Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego.

GetCustomAttributes<T>(MemberInfo, Boolean)

Pobiera kolekcję atrybutów niestandardowych określonego typu, które są stosowane do określonego elementu członkowskiego, i opcjonalnie sprawdza przodków tego elementu członkowskiego.

IsDefined(MemberInfo, Type)

Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego.

IsDefined(MemberInfo, Type, Boolean)

Wskazuje, czy atrybuty niestandardowe określonego typu są stosowane do określonego elementu członkowskiego i, opcjonalnie, stosowane do jego elementów nadrzędnych.

GetMetadataToken(MemberInfo)

Pobiera token metadanych dla danego elementu członkowskiego, jeśli jest dostępny.

HasMetadataToken(MemberInfo)

Zwraca wartość wskazującą, czy token metadanych jest dostępny dla określonego elementu członkowskiego.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.

Zobacz też