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

C#-তে ডেলিগেট এবং ইভেন্টের পার্থক্য


এই পোস্টে, আমরা C#-তে ডেলিগেট এবং ইভেন্টের পার্থক্য বুঝব।

ডেলিগেট

  • এটি 'delegate' কীওয়ার্ড দিয়ে ডিক্লেয়ার করা হয়।

  • এটি একটি ফাংশন পয়েন্টার।

  • রানটাইমে এক বা একাধিক মেথডের রেফারেন্স ধারণ করে।

  • এটি একটি স্বতন্ত্র কীওয়ার্ড।

  • এটি ইভেন্টের ওপর নির্ভরশীল নয়।

  • এতে Combine() এবং Remove() মেথড থাকে যা ইনভোকেশন লিস্টে মেথড যোগ করতে সাহায্য করে।

  • এটি একটি মেথডের প্যারামিটার হিসেবে পাস করা যায়।

  • '=' অপারেটর ব্যবহার করে একটি সিঙ্গল মেথড অ্যাসাইন করা যায়।

  • '+=' অপারেটর ব্যবহার করে একাধিক মেথড একটি ডেলিগেটে অ্যাসাইন করা যায়।

ইভেন্ট

  • এটি 'event' কীওয়ার্ড দিয়ে ডিক্লেয়ার করা হয়।

  • এটি একটি নোটিফিকেশন মেকানিজম যা ডেলিগেটের ওপর নির্ভরশীল।

  • এটি ডেলিগেটের ওপর নির্ভরশীল।

  • ডেলিগেট ছাড়া এটি তৈরি করা যায় না।

  • এটি একটি ডেলিগেট ইনস্ট্যান্সের চারদিকে একটি র‍্যাপার হিসেবে বুঝা যায়।

  • এটি ডেলিগেটের ইউজারদের ডেলিগেট এবং এর ইনভোকেশন লিস্ট রিসেট করতে বাধা দেয়।

  • এটি ইনভোকেশন লিস্টে টার্গেট যোগ বা রিমুভ করার অনুমতি দেয়।

  • 'EventInfo' ক্লাস ইভেন্ট ইন্সপেক্ট করে এবং ইভেন্ট হ্যান্ডলার বাইন্ড করতে সাহায্য করে।

  • এই হ্যান্ডলারগুলিতে AddEventHandler() এবং RemoveEventHandler() মেথড রয়েছে যা যথাক্রমে ইনভোকেশন লিস্টে মেথড যোগ ও রিমুভ করতে সাহায্য করে।

  • একটি ইভেন্ট রেইজ করা যায়, কিন্তু মেথডের প্যারামিটার হিসেবে পাস করা যায় না।

  • '=' অপারেটর ইভেন্টের সাথে ব্যবহার করা যায় না।

  • '+=' এবং '-=' অপারেটর ইভেন্টের সাথে ব্যবহার করা যায় যা যথাক্রমে ইভেন্ট হ্যান্ডলার যোগ ও রিমুভ করে।

  • এই মেথডগুলো ইন্টারন্যালি AddEventHandler এবং RemoveEventHandler মেথডগুলো কল করে।

  1. C#-এ Write() এবং WriteLine() মেথডের পার্থক্য

  2. Go এবং Java-এর পার্থক্য

  3. জাভাতে Constructor এবং Method-এর পার্থক্য

  4. অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেসের পার্থক্য