ইভেন্টস (Events) হলো ইউজার অ্যাকশন যেমন কি প্রেস (key press), ক্লিক (clicks), মাউস মুভমেন্ট (mouse movements), ইত্যাদি, অথবা সিস্টেম-জেনারেটেড নোটিফিকেশন (system-generated notifications)।
ইভেন্টগুলো একটি ক্লাসে ডিক্লেয়ার ও রেইজ (raised) করা হয় এবং ডেলিগেটস (delegates) ব্যবহার করে ইভেন্ট হ্যান্ডলার (event handlers) এর সাথে অ্যাসোসিয়েট করা হয়, একই ক্লাসে বা অন্য ক্লাসে। ইভেন্ট ধারণকারী ক্লাসটি ইভেন্ট পাবলিশ (publish) করতে ব্যবহৃত হয়।
একটি ক্লাসের ভিতরে ইভেন্ট ডিক্লেয়ার করতে, প্রথমে ইভেন্টের জন্য একটি ডেলিগেট টাইপ ডিক্লেয়ার করতে হয়। উদাহরণস্বরূপ:
public delegate string myDelegate(string str);
এখন একটি ইভেন্ট ডিক্লেয়ার করুন:
event myDelegate newEvent;
উদাহরণ
using System;
namespace Demo {
public delegate string myDelegate(string str);
class EventProgram {
event myDelegate newEvent;
public EventProgram() {
this.newEvent += new myDelegate(this.WelcomeUser);
}
public string WelcomeUser(string username) {
return "Welcome " + username;
}
static void Main(string[] args) {
EventProgram obj1 = new EventProgram();
string result = obj1.newEvent("My Website!");
Console.WriteLine(result);
}
}
}
আউটপুট
Welcome My Website!