কম্পিউটার টিউটোরিয়াল

C#-তে রিফ্লেকশন ব্যবহার করে বর্তমান টাইপের ফিল্ডসমূহ পাওয়ার পদ্ধতি

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 ব্যবহার করুন।

  1. বর্তমান এনামারেশন টাইপের আন্ডারলাইং টাইপ পান C#-এ

  2. বর্তমান এনামারেশন টাইপের সদস্যদের নাম পান C#-এ

  3. C#-এ বর্তমান ইন্সট্যান্সের টাইপ পান

  4. C#-এ Enum.GetType() মেথড: এনামের টাইপ পাওয়া