Daha önceden yazdığımız delege kodlarında, delegelere atadığımız metotların özel isimleri vardı. Anonim metotlar sayesinde artık delegelere atadığımız metotların özel isimi olmak zorunda değil. Sadece yazdığımız metodumuzun işlevini delegemizin içine { } parantezlerinin arasına yazmamız yeterli. Yani delegede işaret edilecek metodları aynı anda tanımlayabiliyoruz.
namespace AnonimMethod { class Program { delegate void temsilci(int a, int b); static void Main(string[] args) { temsilci delege2 = delegate(int x, int y) { Console.WriteLine("carpim:",(x*y)); }; // burda delegeye özel bir method atamayıp sadece methodun yapacağı içeriği delgemizin içine attık. // delegeyi anonim methodlarla multicast edebiliriz // tabiki imzaya uygun bir şekilde yapmamız lazım. delege2 += delegate(int c, int d) { Console.WriteLine("carpim:",(c*d)); //multicast }; Delegate[] metodlar = delege2.GetInvocationList(); // biz isim vermesek de metodlar isimlendirilir. foreach (var item in metodlar) { Console.WriteLine("metod ismi:{0}",item.Method.Name); } // iki tane anonim method tanımladıgımız için isimleri ekrana gelmiştir. } } }
iyi çalışmalar….