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)
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
السلام عليكم ورحمة الله وبركاته .
لو جربنا الآن ان نقوم بعمل حدث معين لأي موظف عندنا ( مرض ... الخ ) أو لاي سيارة ( حادث اصدام ... الخ ) كنا نقوم بذلك سابقاً عن طريق 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)
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .