14-10-12, 04:21 PM
كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته .
درسنا اليوم عن الطرق المجهولة 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 ان تصل إلى المتغيرات الموجودة في الدالة التي تم تعريفها فيها .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .