المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الرابع والثلاثون : ال Anonymous Methods - فقط في C# دورة .net 2008


khaledbelal
02-25-2010, 02:43 PM
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

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

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

t.SomeEvent += new SomeDelegate(MyEventHandler);


والآن لنفترض انك لا تريد استدعاء الدالة سوى في هذا المكان فقط ، لذا سيكون من المكلف تعريف الدالة ومن ثم استدعاءها في 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 ان تصل إلى المتغيرات الموجودة في الدالة التي تم تعريفها فيها .

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