ডেলিগেট হলো একটি রেফারেন্স টাইপ ভেরিয়েবল যা একটি মেথডের রেফারেন্স ধারণ করে। ইভেন্ট হলো ডেলিগেটের একটি র্যাপার যা এনক্যাপসুলেশন প্রদান করে—বাহের থেকে ডেলিগেটকে সরাসরি ওভাররাইড বা ইনভোক করা যায় না।
ডেলিগেট (Delegate)
public delegate void Demo(string val);
ইভেন্ট (Event)
public delegate void Demo(string val); public event Demo TestEvent; // ইভেন্টে ডেলিগেট সাবস্ক্রাইব করা this.TestEvent += new Demo(DemoData);
ইভেন্ট শুধু ক্লাসের ভিতর থেকে রেইজ করা যায়, বাহের থেকে শুধু সাবস্ক্রাইব/আনসাবস্ক্রাইব করা যায়। এটি নিরাপত্তা এবং ইনক্যাপসুলেশন নিশ্চিত করে।