Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Type.GetFields() ใน C#

เมธอด Type.GetFields() ใน C# ใช้ดึงฟิลด์ (Fields) ของประเภท (Type) ปัจจุบัน

ไวยากรณ์

public System.Reflection.FieldInfo[] GetFields();

ตัวอย่างที่ 1: ดึงฟิลด์ non-public ของ String

using System;
using System.Reflection;

public class Demo
{
    public static void Main()
    {
        Type type = typeof(System.String);
        FieldInfo[] fields = type.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
        
        Console.WriteLine("Following are the non-public fields=");
        
        foreach (FieldInfo myField in fields)
        {
            Console.WriteLine(myField.ToString());
        }
    }
}

ผลลัพธ์

Following are the non-public fields=
Int32 TrimHead
Int32 TrimTail
Int32 TrimBoth
Int32 charPtrAlignConst
Int32 alignConst

ตัวอย่างที่ 2: ดึงฟิลด์ non-public ของ Char

using System;
using System.Reflection;

public class Demo
{
    public static void Main()
    {
        Type type = typeof(System.Char);
        FieldInfo[] fields = type.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
        
        Console.WriteLine("\nFollowing are the non-public fields=");
        
        foreach (FieldInfo myField in fields)
        {
            Console.WriteLine(myField.ToString());
        }
    }
}

ผลลัพธ์

Following are the non-public fields=
Byte[] categoryForLatin1
Int32 UNICODE_PLANE00_END
Int32 UNICODE_PLANE01_START
Int32 UNICODE_PLANE16_END
Int32 HIGH_SURROGATE_START
Int32 LOW_SURROGATE_END

หมายเหตุ: ต้องใช้ BindingFlags เพื่อระบุว่าต้องการดึงฟิลด์แบบไหน (Public, NonPublic, Static, Instance)