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

ما هو الفرق بين Delegate & Event

بدأه EXP في 22 أبريل 2008 · 8 رد · 1,539 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا بقالى يومين بحاول افهم الفرق بين ال delegate & event ومش قادر الاحظ الفرق

انا فهمت فكرة ال delegate كويس بس كل مقرا ال event احس انو هوة هوة الdelegate

دا المثال اللى بيشرح ال delegate

 public delegate void MyDel();

		class Program
		{
			public static void Somemethod()
			{
				Console.WriteLine("MyMethod :( ");
			}
			static void Main(string[] args)
			{
				MyDel d1 = new MyDel(Somemethod);
				d1();
			}
		}

و دا المثال اللى بيشرح ال event

ublic delegate void MyDel ();
	class myevent
	{
		public event MyDel MyEvt;
		public void OnSomeEvent()
		{
			if (MyEvt != null)
			{
				MyEvt();
			}
		}

	}

	class Program
	{
		public static  void Somemethod()
		{
			Console.WriteLine("MyMethod :( ");
		}
		static void Main(string[] args)
		{
			myevent evt = new myevent();
			evt.MyEvt+= new MyDel(Somemethod);


			evt.OnSomeEvent();

		}
	}

فكرة ال event مش واضحة

ممكن حد يقولى مثال بسيط يوضح فكرة ال event

و يقولى اية اللى بيحصل تدريجيا لما الواحد يدوس على button

#2

باختصار شديد الـ Delegates بديل للـ Pointers وليها Scope أوسع عن طريق الـ Address of وتقدر تقول ان الـ Events تعتبر Limited شوية يعني بتتـ Fire من داخل الكلاس بس.. عموما ابحث في الـ MSDN ,,,

تم تعديل هذه المشاركة بواسطة hazzoom في 22 أبريل 2008 في 15:40

#3

للعلم هذا القسم وأيضا قسم VB.NET بهما الكثير من دروس الـ OOP لي ولبعض الأخوة فابحث عنها ,,,

#4

يعنى كلامى صح الاثنين نفس الفكرة

على فكرة انا معرفش c & c++ انا ابتديت من c# فاكيد مش هعرف pointer or address of

WHY EVENT ?

انا دورت فالكتب و MSDN و بردو مقدرتش افهم فكرة ال event

تم تعديل هذه المشاركة بواسطة EXP في 22 أبريل 2008 في 16:01

#5

طيب

ممكن اعرف اية هية ال method اللى بت fire ال event اللى موجودة فاى control

#6

الفرق بين الevent و الdelegate هو نفسه الفرق بين الproperty و الtype بمعنى أن الevent هو خاصية من خصائص الclass مثله مثل الmethod و الproperty و ال indexer أما الdelegate فيمكنك اعتباره data type مخصص لتعريف الmethods عموماً عن طريق كتابة الMethod Signature

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#7
bashmohandes كتب:
الفرق بين الevent و الdelegate هو نفسه الفرق بين الproperty و الtype بمعنى أن الevent هو خاصية من خصائص الclass مثله مثل الmethod و الproperty و ال indexer أما الdelegate فيمكنك اعتباره data type مخصص لتعريف الmethods عموماً عن طريق كتابة الMethod Signature

جميل

يعنى ال delegate اعم من ال event

الاستفسار دا عشان افهم بس

ينفع اخلى ال control يـــ fire الــdelegate بدل ما يــ fire الــevent

#8

Delegate betshbah al interface

hoon sawfa tshoof example ala Delegate

    // Declaration     
public delegate void SimpleDelegate();    class TestDelegate    {        public static void MyFunc()        {           Console.WriteLine(“called by delegate ...");        }        public static void Main()        {            // Instantiation            SimpleDelegate simpleDelegate = new SimpleDelegate(MyFunc);           // Invocation            simpleDelegate();        }    }

تم تعديل هذه المشاركة بواسطة faresc# في 24 أبريل 2008 في 21:13

#9

في لغة السي شارب:

الـ event ليست مفهوماً موازياً أو بديلاً للـ Delegate ، لأنه لا يمكن تعريف event إلا على Delegate معرّف وموجود مسبقاً ، الـ event هي مجرد كلمة مفتاحية لتنبيه الكمبايلر أن العمليات المسموحة على هذا الـ Delegate هي فقط =+ وَ =-

تم تعديل هذه المشاركة بواسطة MrDebugger في 25 أبريل 2008 في 00:21

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