private static void DelegateTest() { CustomerManager customerManager = new CustomerManager(); Matematik matematik = new Matematik(); DelegateMessenger delegateMessenger = customerManager.SendMessage; matematik.TestDelegate(delegateMessenger); }
private static void DelegateDemo() { CustomerManager customerManager = new CustomerManager(); //CustomerManeger classından nesne oluşturuldu. DelegateMessenger delegateMessenger = customerManager.SendMessage; //Bu nesneye ait metotlar oluşturulan delegateye atandı. delegateMessenger += customerManager.ShowAlert; //delegate ye metot eklendi. delegateMessenger(); //delegate aktif hale getirildi. Matematik matematikIslem = new Matematik(); DelegateMath delegateMath = matematikIslem.Topla; delegateMath += matematikIslem.Cikarma; delegateMath(4, 3); DelegateCalculate delegateCalculate = matematikIslem.Bol; result = delegateCalculate(5, 3); Console.WriteLine(result); delegateCalculate += matematikIslem.Carp; Console.WriteLine(delegateCalculate(result, 3)); }
private static void DelegateExamples() { CustomerManager customerManager = new CustomerManager(); Matematik matematik = new Matematik(); //customerManager.SendMessage(); //customerManager.ShowAlert(); DelegateMessenger delegateMessenger = customerManager.SendMessage; // customerManager nesnesindeki sendMessage Metodu delegateMessenger Delegate ine eklendi. MyDelegate2 myDelegate2 = customerManager.SendMessage2; MyDelegate3 myDelegate3 = matematik.Topla; delegateMessenger += customerManager.ShowAlert; //customerManager nesnesindeki sendMessage Metodu ShowAlert Delegate ine eklendi. delegateMessenger -= customerManager.SendMessage; myDelegate2 += customerManager.ShowAlert2; myDelegate3 += matematik.Carp; delegateMessenger(); // delegateMessenger a atanan metotlar çağırıldı. var sonuc = myDelegate3(2, 3); // değer döndüren delegatedeki birden fazla metotlarda en son hesaplanan(delegate e ekleme sırasına göre) değer görüntülenir. Console.WriteLine(sonuc); myDelegate2("Hello"); }
public void TestDelegate(DelegateMessenger action) // Action void geri dönüş tipine sahip herhangi bir parametre almayan metotları tutar. { action.Invoke(); }