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 dotyczące pola z FieldInfo klasy, a następnie wyświetla atrybuty pól.

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 GetField lub Type obiektu .

Pola są zmiennymi zdefiniowanymi w klasie. FieldInfo Zapewnia dostęp do metadanych dla pola w klasie oraz zapewnia zestaw dynamiczny i zapewnia funkcje dla pola. Klasa nie jest ładowana do pamięci, dopóki nie wywołaj obiektu lub wywołaj go.

Notatki 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

Nazwa Opis
FieldInfo()

Inicjuje nowe wystąpienie klasy FieldInfo.

Właściwości

Nazwa Opis
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 Assembly, czyli 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 odwołuje się do co najmniej jednego zestawu przechowywanego w kolekcji AssemblyLoadContext.

(Odziedziczone po MemberInfo)
IsFamily

Pobiera wartość wskazującą, czy widoczność tego pola jest opisana przez Family, czyli pole jest widoczne tylko w ramach klasy i klas pochodnych.

IsFamilyAndAssembly

Pobiera wartość wskazującą, czy widoczność tego pola jest opisana przez FamANDAssemparametr ; 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 FamORAssem, czyli, do pola można uzyskać dostęp przez klasy pochodne, gdziekolwiek 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 elem 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 ma krytyczne znaczenie 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.

MetadataToken

Pobiera wartość identyfikującą element metadanych.

(Odziedziczone po MemberInfo)
Module

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

(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

Nazwa Opis
Equals(Object)

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

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 zastosowanych do elementu członkowskiego docelowego.

(Odziedziczone po MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

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

GetFieldFromHandle(RuntimeFieldHandle)

FieldInfo Pobiera element dla pola reprezentowanego przez określony uchwyt.

GetHashCode()

Zwraca kod skrótu dla tego wystąpienia.

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 pól.

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 zastąpieniu 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 Object.

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

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

SetValue(Object, Object)

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

Nazwa Opis
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

Nazwa Opis
_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)

Zapewnia dostęp do właściwości i metod uwidocznionych 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()

Pobiera obiekt reprezentujący klasę TypeMemberInfo .

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

Zapewnia dostęp do właściwości i metod uwidocznionych 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 pustej tablicy, 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, zidentyfikowaną 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 attributeType członkowskim zdefiniowano jedno lub więcej wystąpień.

(Odziedziczone po MemberInfo)

Metody rozszerzania

Nazwa Opis
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(MemberInfo, Type)

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.

GetCustomAttribute<T>(MemberInfo)

Pobiera atrybut niestandardowy określonego typu, który jest stosowany 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, 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(MemberInfo, Type)

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

GetCustomAttributes(MemberInfo)

Pobiera kolekcję atrybutów niestandardowych, 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.

GetCustomAttributes<T>(MemberInfo)

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

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.

IsDefined(MemberInfo, Type, Boolean)

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

IsDefined(MemberInfo, Type)

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

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkiem.

Zobacz też