منتدى رياض الجنة - Riad Al-Ganah

منتدى رياض الجنة - Riad Al-Ganah (https://montada.khaledbelal.com/index.php)
-   دورة .NET 2008 من منتدى فيجوال بيسك للعرب (https://montada.khaledbelal.com/forumdisplay.php?f=57)
-   -   الدرس الثالث والثلاثون : ال Events دورة .net 2008 (https://montada.khaledbelal.com/showthread.php?t=574)

khaledbelal 02-25-2010 02:40 PM

الدرس الثالث والثلاثون : ال Events دورة .net 2008
 
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

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

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

public delegate void CarEventHandler(string msg); 

vb.net:
كود PHP:

Public Delegate Sub CarEventHandler(ByVal msg As String

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

public event CarEventHandler Exploded;
public 
event CarEventHandler Damaged

vb.net:
كود PHP:

Public Event Exploded As CarEventHandler
Public Event Damaged As CarEventHandler 

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


Damaged
("my car"); 

vb.net:
كود PHP:

 
Damaged
("my car"

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

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

C#:
كود PHP:

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

vb.net:
كود PHP:

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


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


الساعة الآن 11:19 AM.

Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية

Ads Management Version 3.0.1 by Saeed Al-Atwi

a.d - i.s.s.w