কম্পিউটার

C# এ প্রতিফলনের প্রয়োগগুলি কী কী?


প্রতিফলন বস্তু রানটাইমে ধরনের তথ্য প্রাপ্ত করার জন্য ব্যবহার করা হয়. যে ক্লাসগুলি চলমান প্রোগ্রামের মেটাডেটাতে অ্যাক্সেস দেয় সেগুলি সিস্টেম। প্রতিফলন নামস্থানে রয়েছে।

নিচের প্রতিফলনের প্রয়োগ −

  • এটি রানটাইমে অ্যাট্রিবিউট তথ্য দেখার অনুমতি দেয়।
  • এটি অ্যাসেম্বলিতে বিভিন্ন ধরনের পরীক্ষা করার অনুমতি দেয় এবং এই ধরনের ইনস্ট্যান্টিয়েট করে।
  • এটি পদ্ধতি এবং বৈশিষ্ট্যের সাথে দেরীতে বাঁধাই করার অনুমতি দেয়
  • এটি রানটাইমে নতুন ধরনের তৈরি করার অনুমতি দেয় এবং তারপর সেই ধরনের ব্যবহার করে কিছু কাজ সম্পাদন করে।

System.Reflection নামস্থানে এমন ক্লাস রয়েছে যা আপনাকে অ্যাপ্লিকেশন সম্পর্কে তথ্য পেতে এবং গতিশীলভাবে অ্যাপ্লিকেশনটিতে প্রকার, মান এবং বস্তু যোগ করতে দেয়।

আসুন আমরা একটি উদাহরণও দেখি।

নিচে আমরা টার্গেট ক্লাস -

এর অবজেক্ট সেট করেছি
System.Reflection.MemberInfo info = typeof(MyClass);

এখানে সম্পূর্ণ উদাহরণ -

উদাহরণ

using System;
using System.Reflection;

[AttributeUsage(AttributeTargets.All)]
public class HelpAttribute : System.Attribute {
   public readonly string Url;
   public string Topic {
      get {
         return topic;
      }

      set {
         topic = value;
      }
   }

   public HelpAttribute(string url) { // url is a positional parameter
      this.Url = url;
   }

private string topic;
}

[HelpAttribute("Information on the class MyClass")]
   class MyClass {
   }

namespace AttributeAppl {
   class Program {
      static void Main(string[] args) {
         System.Reflection.MemberInfo info = typeof(MyClass);
         object[] attributes = info.GetCustomAttributes(true);
         for (int i = 0; i < attributes.Length; i++) {
            System.Console.WriteLine(attributes[i]);
         }
         Console.ReadKey();
      }
   }
}

আউটপুট

HelpAttribute

  1. সি টোকেন কি?

  2. C# এ C++ বৈশিষ্ট্যগুলি কি অনুপস্থিত?

  3. C# এ মন্তব্য কি?

  4. C# এ কাস্টম ব্যতিক্রম কি?