FieldInfo Kelas

Definisi

Menemukan atribut bidang dan menyediakan akses ke metadata bidang.

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
Warisan
FieldInfo
Turunan
Atribut
Penerapan

Contoh

Contoh berikut menggunakan Type.GetFields metode untuk mendapatkan informasi terkait bidang dari FieldInfo kelas, lalu menampilkan atribut bidang.

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

Keterangan

Informasi bidang diperoleh dari metadata. Kelas FieldInfo tidak memiliki konstruktor publik. FieldInfo objek diperoleh dengan memanggil GetFields metode atau GetField objek Type .

Bidang adalah variabel yang ditentukan dalam kelas . FieldInfo menyediakan akses ke metadata untuk bidang dalam kelas dan menyediakan set dinamis dan mendapatkan fungsionalitas untuk bidang tersebut. Kelas tidak dimuat ke dalam memori sampai memanggil atau mendapatkan dipanggil pada objek.

Catatan Bagi Implementer

Ketika Anda mewarisi dari FieldInfo, Anda harus mengambil alih anggota berikut: GetValue(Object) dan SetValue(Object, Object, BindingFlags, Binder, CultureInfo).

Konstruktor

Nama Deskripsi
FieldInfo()

Menginisialisasi instans baru dari kelas FieldInfo.

Properti

Nama Deskripsi
Attributes

Mendapatkan atribut yang terkait dengan bidang ini.

CustomAttributes

Mendapatkan koleksi yang berisi atribut kustom anggota ini.

(Diperoleh dari MemberInfo)
DeclaringType

Mendapatkan kelas yang mendeklarasikan anggota ini.

(Diperoleh dari MemberInfo)
FieldHandle

RuntimeFieldHandleMendapatkan , yang merupakan handel ke representasi metadata internal bidang.

FieldType

Mendapatkan tipe objek bidang ini.

IsAssembly

Mendapatkan nilai yang menunjukkan apakah visibilitas potensial bidang ini dijelaskan oleh Assembly; yaitu, bidang terlihat paling banyak ke jenis lain dalam rakitan yang sama, dan tidak terlihat oleh jenis turunan di luar rakitan.

IsFamily

Mendapatkan nilai yang menunjukkan apakah visibilitas bidang ini dijelaskan oleh Family; yaitu, bidang hanya terlihat dalam kelas dan kelas turunannya.

IsFamilyAndAssembly

Mendapatkan nilai yang menunjukkan apakah visibilitas bidang ini dijelaskan oleh FamANDAssem; yaitu, bidang dapat diakses dari kelas turunan, tetapi hanya jika berada dalam rakitan yang sama.

IsFamilyOrAssembly

Mendapatkan nilai yang menunjukkan apakah visibilitas potensial bidang ini dijelaskan oleh FamORAssem; yaitu, bidang dapat diakses oleh kelas turunan di mana pun mereka berada, dan berdasarkan kelas dalam rakitan yang sama.

IsInitOnly

Mendapatkan nilai yang menunjukkan apakah bidang hanya dapat diatur dalam isi konstruktor.

IsLiteral

Mendapatkan nilai yang menunjukkan apakah nilai ditulis pada waktu kompilasi dan tidak dapat diubah.

IsNotSerialized

Mendapatkan nilai yang menunjukkan apakah bidang ini memiliki NotSerialized atribut .

IsPinvokeImpl

Mendapatkan nilai yang menunjukkan apakah atribut yang PinvokeImpl sesuai diatur dalam FieldAttributes.

IsPrivate

Mendapatkan nilai yang menunjukkan apakah bidang bersifat privat.

IsPublic

Mendapatkan nilai yang menunjukkan apakah bidang bersifat publik.

IsSecurityCritical

Mendapatkan nilai yang menunjukkan apakah bidang saat ini kritis keamanan atau keamanan-aman-kritis pada tingkat kepercayaan saat ini.

IsSecuritySafeCritical

Mendapatkan nilai yang menunjukkan apakah bidang saat ini kritis keamanan-aman-kritis pada tingkat kepercayaan saat ini.

IsSecurityTransparent

Mendapatkan nilai yang menunjukkan apakah bidang saat ini transparan pada tingkat kepercayaan saat ini.

IsSpecialName

Mendapatkan nilai yang menunjukkan apakah atribut yang SpecialName sesuai diatur dalam FieldAttributes enumerator.

IsStatic

Mendapatkan nilai yang menunjukkan apakah bidang statis.

MemberType

Mendapatkan nilai yang MemberTypes menunjukkan bahwa anggota ini adalah bidang .

MetadataToken

Mendapatkan nilai yang mengidentifikasi elemen metadata.

(Diperoleh dari MemberInfo)
Module

Mendapatkan modul di mana jenis yang menyatakan anggota yang diwakili oleh MemberInfo saat ini ditentukan.

(Diperoleh dari MemberInfo)
Name

Mendapatkan nama anggota saat ini.

(Diperoleh dari MemberInfo)
ReflectedType

Mendapatkan objek kelas yang digunakan untuk mendapatkan instans MemberInfoini.

(Diperoleh dari MemberInfo)

Metode

Nama Deskripsi
Equals(Object)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

GetCustomAttributes(Boolean)

Saat ditimpa di kelas turunan, mengembalikan array dari semua atribut kustom yang diterapkan kepada anggota ini.

(Diperoleh dari MemberInfo)
GetCustomAttributes(Type, Boolean)

Saat ditimpa di kelas turunan, mengembalikan array atribut kustom yang diterapkan ke anggota ini dan diidentifikasi oleh Type.

(Diperoleh dari MemberInfo)
GetCustomAttributesData()

Mengembalikan daftar objek CustomAttributeData yang mewakili data tentang atribut yang telah diterapkan ke anggota target.

(Diperoleh dari MemberInfo)
GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)

Mendapatkan untuk bidang yang FieldInfo diwakili oleh handel yang ditentukan, untuk jenis generik yang ditentukan.

GetFieldFromHandle(RuntimeFieldHandle)

FieldInfo Mendapatkan untuk bidang yang diwakili oleh handel yang ditentukan.

GetHashCode()

Mengembalikan kode hash untuk instans ini.

GetOptionalCustomModifiers()

Mendapatkan array jenis yang mengidentifikasi pengubah kustom opsional bidang.

GetRawConstantValue()

Mengembalikan nilai harfiah yang terkait dengan bidang oleh pengkompilasi.

GetRequiredCustomModifiers()

Mendapatkan array jenis yang mengidentifikasi pengubah kustom properti yang diperlukan.

GetType()

Menemukan atribut bidang kelas dan menyediakan akses ke metadata bidang.

GetValue(Object)

Saat ditimpa di kelas turunan, mengembalikan nilai bidang yang didukung oleh objek tertentu.

GetValueDirect(TypedReference)

Mengembalikan nilai bidang yang didukung oleh objek tertentu.

HasSameMetadataDefinitionAs(MemberInfo)

Menemukan atribut bidang dan menyediakan akses ke metadata bidang.

(Diperoleh dari MemberInfo)
IsDefined(Type, Boolean)

Ketika ditimpa dalam kelas turunan, menunjukkan apakah satu atau beberapa atribut dari jenis yang ditentukan atau jenis turunannya diterapkan ke anggota ini.

(Diperoleh dari MemberInfo)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

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

Saat ditimpa dalam kelas turunan, mengatur nilai bidang yang didukung oleh objek yang diberikan.

SetValue(Object, Object)

Mengatur nilai bidang yang didukung oleh objek yang diberikan.

SetValueDirect(TypedReference, Object)

Mengatur nilai bidang yang didukung oleh objek yang diberikan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Operator

Nama Deskripsi
Equality(FieldInfo, FieldInfo)

Menunjukkan apakah dua objek FieldInfo sama.

Inequality(FieldInfo, FieldInfo)

Menunjukkan apakah dua objek FieldInfo tidak sama.

Implementasi Antarmuka Eksplisit

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

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

_FieldInfo.GetType()

Mendapatkan objek yang Type mewakili jenisnya FieldInfo .

_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

_FieldInfo.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

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

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

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

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

(Diperoleh dari MemberInfo)
_MemberInfo.GetType()

Mendapatkan objek Type yang mewakili kelas MemberInfo.

(Diperoleh dari MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang kemudian dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

(Diperoleh dari MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

(Diperoleh dari MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Mengembalikan array dari semua atribut kustom yang ditentukan pada anggota ini, tidak termasuk atribut bernama, atau array kosong jika tidak ada atribut kustom.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Mengembalikan array atribut kustom yang ditentukan pada anggota ini, diidentifikasi berdasarkan jenis, atau array kosong jika tidak ada atribut kustom dari jenis tersebut.

(Diperoleh dari MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Menunjukkan apakah satu atau beberapa instans attributeType ditentukan pada anggota ini.

(Diperoleh dari MemberInfo)

Metode Ekstensi

Nama Deskripsi
GetCustomAttribute(MemberInfo, Type, Boolean)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttribute(MemberInfo, Type)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttribute<T>(MemberInfo, Boolean)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttribute<T>(MemberInfo)

Mengambil atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttributes(MemberInfo, Boolean)

Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes(MemberInfo, Type, Boolean)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes(MemberInfo, Type)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

GetCustomAttributes(MemberInfo)

Mengambil kumpulan atribut kustom yang diterapkan ke anggota tertentu.

GetCustomAttributes<T>(MemberInfo, Boolean)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu, dan secara opsional memeriksa leluhur anggota tersebut.

GetCustomAttributes<T>(MemberInfo)

Mengambil kumpulan atribut kustom dari jenis tertentu yang diterapkan ke anggota tertentu.

IsDefined(MemberInfo, Type, Boolean)

Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu, dan, secara opsional, diterapkan ke leluhurnya.

IsDefined(MemberInfo, Type)

Menunjukkan apakah atribut kustom dari jenis tertentu diterapkan ke anggota tertentu.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk utas.

Lihat juga