مشخصات مقاله
-
1986
-
0.0
-
8075
-
0
-
0
Event ها سی شارپی
Event ها
به اعمال کاربر Event گفته میشود؛ مانند فشردن دکمهی کیبورد، کلیک موس، حرکت موس و ... یا برخی از رخدادها مانند نوتیفیکیشن های تولید شدهی سیستم. برنامهها باید به Event هایی مانند وقفهها پاسخ دهند. Event ها در ارتباطات میان پردازشی کاربرد دارند.
استفاده از نمایندهها در کنار Event ها
Event ها در کلاسی اعلان شده و پیش میآیند و با استفاده از نمایندههای موجود در همان کلاس یا کلاس دیگر به کنترلکنندههای Event ارتباط داده میشوند. از کلاسی که شامل این Event است در منتشر کردن این Event استفاده میشود. به این کلاس، کلاس ناشر گفته میشود. به کلاسهای دیگری که این Event را میپذیرند، کلاس مشترِک گفته میشود. Event ها از مدل ناشر – مشترک استفاده میکنند.
ناشر به شیئی گفته میشود که شامل تعریف Event و نماینده است. ارتباط بین Event و نماینده نیز در همین شیء تعریف میشود. شیء کلاس ناشر این Event را احضار میکند و خبر آن به دیگر اشیاء اعلام میشود.
مشترِک به شیئی گفته میشود که این Event را میپذیرد و یک کنترلکنندهی Event را فراهم میکند. نمایندهی موجود در کلاس ناشر متد (کنترلکنندهی Event ) کلاس مشترک را احضار میکند.
اعلان Event ها
جهت تعریف یک Event داخل یک کلاس، ابتدا باید نوع نمایندهی این Event اعلان شود. برای مثال:
public delegate string MyDel(string str);
سپس خود Event با استفاده از واژهی کلیدی event اعلان میشود:
event MyDel MyEvent;
این کد نمایندهای به نام BoilerLogHandler و Event ی به نام BoilerEventLog را تعریف میکند. زمانی که این Event پیش بیاید، این نماینده را احضار میکند.
مثال
using System;
namespace SampleApp {
public delegate string MyDel(string str);
class EventProgram {
event MyDel MyEvent;
public EventProgram() {
this.MyEvent += new MyDel(this.WelcomeUser);
}
public string WelcomeUser(string username) {
return "Welcome " + username;
}
static void Main(string[] args) {
EventProgram obj1 = new EventProgram();
string result = obj1.MyEvent("Tutorials Point");
Console.WriteLine(result);
}
}
}
زمانی که کد بالا کامپایل و اجرا شود، نتیجه به صورت زیر نمایش داده میشود.
Welcome Tutorials Point