تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثالث والثلاثون - ال Events
#1
كاتب الموضوع : أحمد جمال

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

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

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

كود :
[FONT=Tahoma]public delegate void CarEventHandler(string msg);[/FONT]

vb.net:

كود :
[FONT=Tahoma]Public Delegate Sub CarEventHandler(ByVal msg As String) [/FONT]

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

كود :
[FONT=Tahoma]public event CarEventHandler Exploded;[/FONT]
[FONT=Tahoma]public event CarEventHandler Damaged;[/FONT]

vb.net:

كود :
Public Event Exploded As CarEventHandler

كود :
[FONT=Tahoma]Public Event Damaged As CarEventHandler [/FONT]

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

كود :
[FONT=Tahoma]Damaged("my car");[/FONT]


vb.net:

كود :
[FONT=Tahoma]Damaged("my car") [/FONT]


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

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

C#:

كود :
[FONT=Tahoma][color=black]Car.EngineHandler d = new Car.CarEventHandler(CarExploded);[/color][/FONT]

vb.net:

كود :
Dim d As Car.EngineHandler = New Car.CarEventHandler(CarExploded)



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



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم