قبل معرفة الأحداث لازم معرفة ال Delagates
ال Delagates مهمة فى تنفيذ الأحداث و ال Delagates من الأنواع المرجعية ذى اى دالة ممكن نعملها يعنى
او بالخلاصة
Delagates is safe type of C++ pointers
Ex
لازم نعرف ال Delegate اول حاجة و نوع البينات الى بيرجعها
public delegate void Dlg();
و بعد كدا
Dlg Delg=new Dlg(VoidTarget);
ال VoidTarget الدالة من نوع البينات الى بيرجعها ال delegate والى مفرض نمررها لل ال delegate
public void VoidTarget()
{
//Do Somthing Here
}و لما نستدعى ال deleget نستخدم الأسم بس
Dlg();
بس ايه الفرق بينها و بين الدوال ,ممكن استدعاء الدالة عللى طول من غير لف و دوران
بس ميزة ال delegates ان نحتاج بس اسم الدالة و نوع البيانات الى الدالة بترجعها
زى المثال
public delegate void dlg();
calss del1
{
public static void method1()
{
//do somthing here
}
public static method2()
{
//do somthing here
}
}
class Test
{
public static void Main()
{
dlg dlg1=new dlg(del1.method1);
dlg dlg2=new dlg(dlg.method2);
dlg1();
dlg2();
}
}الجزء اتانى :الأحداث
public delegate void DlgEvent();
public class Share
{
public event DlgEvent Event1;
public void Method1()
{
Event1();
}
}
public class MainClass
{
void Change()
{
//Do Somthing Here
}
public static void Main()
{
Share a=new Share();
a.Event1+=new DlgEvent(Change);
a.Method1();
}
}طبعا اسلوبى فى التوضيح مش اد كدا بس يعنى توضيح للفكرة و اى حد مش واضح عليه حاجة او عنده افكار جديدة يتفضل
