منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الدرس الرابع والثلاثون - ال Anonymous Methods - فقط في C#
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : أحمد جمال

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

درسنا اليوم عن الطرق المجهولة Anonymous Methods . إذا كنت قد استوعبت الدرس السابق عن ال Delegates فأنت تدرك أن بامكانك استدعاء دالة باستخدام متغير من النوع Delegate .

وبعد الدرس الخاص ب Events اصبحت تدرك ان بامكانك اضافة اسم دالة ليمثل الحدث الذي قمت ببرمجته بالشكل التالي مثلاً :



كود :
[FONT=Tahoma]t.SomeEvent += new SomeDelegate(MyEventHandler);[/FONT]


والآن لنفترض انك لا تريد استدعاء الدالة سوى في هذا المكان فقط ، لذا سيكون من المكلف تعريف الدالة ومن ثم استدعاءها في Delegate ، هنا يظهر لنا ما يعرف باسم Anonymous Methods حيث بامكانك تعريف الدالة وسط الكود .

لنرى الكود التالي مثلاً :


كود :
t.SomeEvent += delegate{
Console.WriteLine("Some Text");
}


نعم هذا صحيح ولكن فقط مع C# . كما ترى اصبح الآن بامكانك تعريف الدالة في موقع استخدامها فقط ، يمكن ايضاً ان تكون الدالة تستقبل عدة بارميترات بالشكل التالي مثلاً :


كود :
t.SomeEvent += delegate(object sender, CarEventArgs e){
Console.WriteLine("Some Text {0}",e.msg);
}


ايضاً بامكان ال Anonymous method ان تصل إلى المتغيرات الموجودة في الدالة التي تم تعريفها فيها .

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