Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy các field của Type hiện tại trong C#

Để lấy các field của type hiện tại, ta dùng Type.GetFields kết hợp BindingFlags. Dưới đây là các ví dụ.

Ví dụ 1

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

Kết quả

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

Ví dụ 2

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

Kết quả

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