Type.GetFields(BindingFlags) মেথড ব্যবহার করে একটি টাইপের ফিল্ডসমূহ (পাবলিক, প্রাইভেট, স্ট্যাটিক, ইন্সট্যান্স) ফিল্টার করে পাওয়ার সুযোগ থাকে। BindingFlags এনাম ব্যবহার করে খোঁজার মানদণ্ড নির্দিষ্ট করা হয়। এটি FieldInfo[] অ্যারে রিটার্ন করে।
উদাহরণ ১: System.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("নন-পাবলিক ফিল্ডসমূহ:");
foreach (FieldInfo myField in fields) {
Console.WriteLine(myField.ToString());
}
}
}
আউটপুট
নন-পাবলিক ফিল্ডসমূহ: Int32 TrimHead Int32 TrimTail Int32 TrimBoth Int32 charPtrAlignConst Int32 alignConst
উদাহরণ ২: System.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("\nনন-পাবলিক ফিল্ডসমূহ:");
foreach (FieldInfo myField in fields) {
Console.WriteLine(myField.ToString());
}
}
}
আউটপুট
নন-পাবলিক ফিল্ডসমূহ: Byte[] categoryForLatin1 Int32 UNICODE_PLANE00_END Int32 UNICODE_PLANE01_START Int32 UNICODE_PLANE16_END Int32 HIGH_SURROGATE_START Int32 LOW_SURROGATE_END
দ্রষ্টব্য: BindingFlags.Static | BindingFlags.NonPublic কনবিনেশন স্ট্যাটিক এবং নন-পাবলিক ফিল্ড খুঁজে বের করে। পাবলিক ইন্সট্যান্স ফিল্ডের জন্য BindingFlags.Public | BindingFlags.Instance ব্যবহার করুন। সব ফিল্ড পেতে BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static ব্যবহার করুন।