الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نبذة عن الأحداث و ال delegates

مغلق
بدأه ahabdeen في 26 فبراير 2005 · 7 رد · 848 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

قبل معرفة الأحداث لازم معرفة ال 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();
}
}

طبعا اسلوبى فى التوضيح مش اد كدا بس يعنى توضيح للفكرة و اى حد مش واضح عليه حاجة او عنده افكار جديدة يتفضل

تم تعديل هذه المشاركة بواسطة ahabdeen في 27 فبراير 2005 في 20:02

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#2

السلام عليكم ورحمة الله وبركاته

معلش مش فاهم

تاني لو سمحت بس بأبسط من كده

المقصود أعطي مثال حي لبرنامج صغير يوضح المعنى ومثال آخر لو لم نستخدمها ما الذي يحدث والفرق

جزاك الله خيرا

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#3

أشكرك أخي الكريم على جهدك ، وسأكون ممتناً لك ان تفضلت بشرح ابسط ، وما الفرق عند عدم وجوده وكيف يتم استدعاء او الستفاده منه في فورم أو كلاس..

من لمح فجر الأجر هان عليه ظلام التكليف

#4

السلام عليكم

الموضوع بسيط

أولا يوجد حاجه اسمها events أي أحداث والحدث هو حدوث شي معين مثلا الضغط علي زر

هذا حدث وهو button_Click المهم هيعمل أيه لما الحدث يتحقق هنا تكمن علاقة الevents

بالdelegates يعني الevent لما يتحقق هينفذ Method معينة والmethod دي لازم تكون

في delegate يعني الdelegate فيه الmethods اللي الevents هينفذها

أنت تقدر تعمل delegate و تملاه methods عن طريق الكلمه المحجوزة delegate

وتعمل events تسخدم هذا الdelegate كمصدر للmethods اللي هتنفذها عن طريق

الكلمه المحجوزة event

اقرأ اي كتاب في هذا الموضوع وهتفهمه ان شاء الله

السلام عليكم

#5

يعني قصدكم انه عبارة عن مجموعة دوال اذا تم استدعاء delegate يقوم بتنفيذها علي طول مع بعض

#6

بالظبت كدة و لو لاحظت ال Thread class فى ال FrameWork حتلاقى انها اصلانا delegate لدالة void

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#7

جزاك الله خيرا

الحمد لله فهمتها بعد 9 اشهر من واحد لواحد

ولكم مني تحية

#8

السلام عليكم ورحمة الله وبركاته

جزاك الله خيرا أخي الكريمفأنا كنت أعرف لماذا تستخدم Delegets ولكن أريد كيفية إستخدامها

وكتابتها وما هي الوظائف الإضافة التي سوف تفيدني عند كتابتها مع وجود بعض Events الجاهزة مثل Click وغيرها

أرجوا وضع برنامج بسيط مع الشرح وفي نفس الوقت يوضح الفرق....

وشكرا

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

هذا الموضوع مغلق.

مواضيع مشابهة