المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الثالث والثلاثون : ال Events دورة .net 2008


khaledbelal
02-25-2010, 02:40 PM
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

لو جربنا الآن ان نقوم بعمل حدث معين لأي موظف عندنا ( مرض ... الخ ) أو لاي سيارة ( حادث اصدام ... الخ ) كنا نقوم بذلك سابقاً عن طريق Delegetes باسم Event مثلاً ، ونقوم بتمرير الدالة الخاصة بالحدث له ، وإذا كنت قد توسعت في ال Delegetes فأنت قادر على معرفة انك تستطيع عمل List بالاحداث التي تم تنفيذها على هذا ال Delegete .

الآن سنتعلم الأمر بطريقة جديدة عن طريق الكلمة المحجوزة Event ...
سنعرف في البداية Delegete مسؤول عن كافة الأحداث التي تحصل للسيارة مثلاً :
C#:

public delegate void CarEventHandler(string msg);

vb.net:

Public Delegate Sub CarEventHandler(ByVal msg As String)

والآن سنقوم بتعريف بعض الاحداث :
C#:

public event CarEventHandler Exploded;
public event CarEventHandler Damaged;

vb.net:

Public Event Exploded As CarEventHandler
Public Event Damaged As CarEventHandler

الآن يمكنك ببساطة من خلال الكود تنفيذ اي حدث فيهم بالشكل التالي :
C#:

Damaged("my car");


vb.net:


Damaged("my car")


الآن يمكنك اختبار اي event==null ام لا لمعرفة إذا كان تم اطلاقه قبل ذلك أم لا .

آخر نقطة ، لاضافة دالة الحدث :

C#:

Car.EngineHandler d = new Car.CarEventHandler(CarExploded);

vb.net:

Dim d As Car.EngineHandler = New Car.CarEventHandler(CarExploded)



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