static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); myDelegate(); myDelegate2("Hi"); }
public delegate int MyDelegate3(int sayi1, int sayi2); // <int> dönen iki <int> parametreli delege static void Main(string[] args) { Manager manager = new Manager(); //manager.SendMessage(); //manager.ShowAlert(); MyDelegate myDelegate = manager.SendMessage; // Belirtilen türde metot atmalıyız. myDelegate += manager.ShowAlert; // <+=> ile daha fazla metot ekleyip <-=> ile de çıkartabiliriz. //myDelegate(); // ile çalıştırabiliriz. Delegeler için bir metot gruplaması denilebilir. MyDelegate2 myDelegate2 = manager.SendMessage2; // Parametreli myDelegate2 += manager.ShowAlert2; myDelegate2("Hello"); // Fakat istediği parametreyi verdiğimiz zaman iki metodu da etkilemektedir. Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; // Son verilen referansı çalıştıracaktır. myDelegate3(2, 3); var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Hesapla; myDelegate3 += matematik.Hesapla2; int sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); Console.ReadLine(); }// en son verdiğiniz delege calışır return değer gönderirken
private static void Delegates() { CustomerManager customerManager = new CustomerManager(); customerManager.SendMessage(); customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; Console.WriteLine(myDelegate3(2, 3)); Console.ReadLine(); }
// Delege ile sizin metotlarınızın özelliklerini aynı olması şartıyla; // bir sınıfın metotuna yol oluşturmak için kullanabilirsin. // Ayrıca birden fazla metot ekleyerek tek çağrışta bunların hepsi sırasıyla çalıştırılabilir. static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; // MyDelegate özelliği yukarıda tanımlanmış üzere; bir örnek oluşturulur ve buna SendMessage metotu atılır. myDelegate += customerManager.ShowAlert; // Ayrıca ShowAlert metotu da += şeklinde eklenir. myDelegate -= customerManager.SendMessage; // İsteğe bağlı -= şeklinde çıkartılabilir. MyDelegate2 myDelegate2 = customerManager.SendMessage2; // bir örneğin içerisine string parametreli metot eklenir. myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; // Dönüş tipine sahip metotların delegeye yüklenmesi halinde myDelegate3 += matematik.Carp; // eğer birden fazla yükleme varsa en son hangi metot verildiyse o çalışır. // yani topla'yı yapar ama göstermez** carp'ı gösterir. var sonuc = myDelegate3(2, 3); // Parametreleri gönderiyoruz ve dönüş değeri alabiliyorum. Console.WriteLine(sonuc); // son metot gösterilir > myDelegate3 += matematik.Carp; // myDelegate2("Hello"); //myDelegate(); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); customerManager.SendMessage(); customerManager.Alert(); MyDelegate myDelegate = customerManager.SendMessage; //bu elçi artık sendmessage in elçisi olmuş o mesaja sahip olacak. myDelegate += customerManager.Alert; //bu şekilde ek bir operasyon atayabilirsin. myDelegate(); //ex: bir kral bir elçisine mesajları veriyor ve başka bir devlet adamına ilet diyor oda iletiyor myDelegate -= customerManager.SendMessage; //işlemi geri alabilirsin. myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.Alert2; myDelegate2("Hello"); //aynı parametreyi iki operasyon için gönderiyor. Math math = new Math(); MyDelegate3 myDelegate3 = math.Topla; myDelegate3 += math.Carp; var sonuc = myDelegate3(6, 3); Console.WriteLine(sonuc); //bhaşta toplama verdik sonra çarpmayı ekledik ve 6 ile 3 ü gönderdik. //delegelerde return var ise en son gelen return sonuç olarak ekrana yazılır. Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; myDelegate(); //yapılacak işleri sıraya koyup sonra çalıştırabiliriz. Console.WriteLine("--------------"); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello"); //aynı parametreyi iki operasyon için de göndermemiz gerekiyor. Kısıt Console.WriteLine("--------------"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); //en son return edilen delege çalışır Console.WriteLine(sonuc); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; //yapılacak işleri belli şartlara göre toplayabiliriz myDelegate = myDelegate - customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate(); myDelegate2("naber"); var sonuc = myDelegate3(5, 2); Console.WriteLine(sonuc); Console.ReadLine(); }
public delegate int MyDelegate3(int number1, int number2); // 2 int parametre isteyen ve int döndüren static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; // önce yapılacak işler toplanıyor. myDelegate -= customerManager.SendMessage; //yapılacak bir işi geride alabiliriz myDelegate(); // delegate çağırıldı. MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello"); // 2 Hello ekrana yazılır. Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); // integer türünde bir değer return edilecekse genellikle değişkene son atanan değer verilir. // yani çıktısı 3*2'den 6'dır. Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); //delege kullanımı //özel bir elçi MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; //ikinci operasyonu bu şekilde ekliyoruz myDelegate -= customerManager.SendMessage; // istenilen operasyonu iptal eder MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); //return tiplerde en son operasyonu alır yani çarpma sonucunu alır Console.WriteLine(sonuc); myDelegate2("Hi"); //iki operasyonda aynı mesajı gönderdi myDelegate(); //bunu yapıca consolda yazar Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customermanager = new CustomerManager(); //customermanager.SendMessage(); //customermanager.ShowAlert(); MyDelegate myDelegate = customermanager.SendMessage; myDelegate += customermanager.ShowAlert; myDelegate(); Console.WriteLine("-----------------------"); myDelegate -= customermanager.SendMessage; myDelegate(); Console.WriteLine("-----------------------"); MyDelegate2 myDelegate2 = customermanager.SendMessage2; myDelegate2 += customermanager.ShowAlert2; myDelegate2("Hello"); //aynı delegate i iki operasyona da aynı olarak gönderiyoruz Console.WriteLine("-----------------------"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); Console.ReadLine(); }
public delegate int MyDelegate3(int number1, int number2); //int döndürüyor ve parametre alıyor static void Main(string[] args) { //Delegeler günümüzde kullandığımız hale gelene kadar birçok versiyon çıkmıştır. Anlamı Elçi. dönüş değieri olmayan(void) methodlara ve parametre almayan methodlara delegelit yapıyor. CustomerManager customerManager = new CustomerManager(); Matematik matematik = new Matematik(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp;//return type olan delegelerede en son verilen method çalıştırılır Console.WriteLine(myDelegate3(3, 5)); myDelegate2("Hello");//2 methodada aynı mesajı gönderiyoruz böyle olmak zorunda myDelegate(); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; // tipi void olmadığı için en son verilen işlemi(çarpma) yaptı, toplama yapmadı. var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); myDelegate2("Hello"); myDelegate(); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; //Çağırınca çalışıyor. myDelegate -= customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("hello"); myDelegate(); matematik matematik = new matematik(); MyDelegate3 myDelegate3 = matematik.topla; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); // func<int,int,int> add = topla; Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessages(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessages; myDelegate += customerManager.ShowAlert; myDelegate(); Console.WriteLine("------------------"); myDelegate -= customerManager.ShowAlert; myDelegate(); MyDelegate2 myDelegate2 = customerManager.Messages; myDelegate2 += customerManager.Alert; myDelegate2("Testing"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; // Return işlemlerinde son kullanılan method dikkate alınıyor... Console.WriteLine(myDelegate3(3, 6)); Console.ReadLine(); }
static void Main(string[] args) { //Deneme1(); //Matematik matematik = new Matematik(); //MyDelegate myDelegate = matematik.Toplama; //myDelegate = matematik.Toplama; //myDelegate += matematik.Cikarma; //var sonuc = myDelegate(59, 23); //Console.WriteLine(sonuc); SayHi sayHi = new SayHi(); MyDelegate2 myDelegate2 = sayHi.SendAlert; myDelegate2 += sayHi.SendMessage; myDelegate2("Selaammm"); MyDelegate3 myDelegate3 = sayHi.SendMessage2; myDelegate3 += sayHi.SendAlert2; myDelegate3(); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; // Özel elçilik SendMessageyi taşıyacak myDelegate += customerManager.ShowAlert; // ikiside çalışıcak ikisini de yazdırıcak delegate. myDelegate -= customerManager.SendMessage; // SendMessage yi geri al yazdırma artık bunu dedik. çıkardık bunu be carefull yazıcak sadece. MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; var sonuc = myDelegate3(2, 3); // return eden typelarda += yaparken en son verdiğimiz delegateyi döndürür ikisini de alt alta yazdırmaz öyle. Console.WriteLine(sonuc); myDelegate2("Hellooooo"); // 2 operasyon içinde helloooo yu gönderiyoruz.. myDelegate(); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; int sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); //myDelegate2("Hello");//Hello Hello //myDelegate();//Be Careful Console.ReadLine(); }
private static void Main(string[] args) { // Normal CustomerManager customerManager = new CustomerManager(); customerManager.SendMessage(); customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; myDelegate += customerManager.ShowAlert; myDelegate -= customerManager.SendMessage; myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello my delegate 2"); MathOperations mathOperations = new MathOperations(); MyDelegate3 myDelegate3 = mathOperations.Add; myDelegate3 += mathOperations.Multi; var result = myDelegate3(2, 3); Console.WriteLine(result); Console.ReadLine(); }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); customerManager.SendMessage(); customerManager.ShowAlert(); // (5) ben bunları el ile çağpırdım MyDelegate myDelegate = customerManager.SendMessage; // (6) MyDelegate myDelegate , public delegate void MyDelegate(); bu formatta çalışan bir elçi. // (7) Bir delegeden birden fazla işi yapan elçi oluşturabilirim. // (8) Bu elçi, maydelegate; CustomerManagerin sendMEssagesine delege edilmiş durumda demek oluyor. // (9) Ama bu şekilde çalıştırdığımız zaman ekranda Hello yazısını görmeyeceğiz. Bunu yapabilmemiz için, bunu yap demedik. // (10) Delegeyi çağırmamız lazım myDelegate(); ile delegemizi çağırmış oluyoruz. myDelegate(); // (11) Peki şu şekilde yaptığımız da; myDelegate += customerManager.ShowAlert; // (12) Ben başka bir operasyonu da bu arkadaşa bu şekilde delege etmiş oluyoruz. // (13) += ile bu işlemi yapabiliriz. Arka arkaya iki operasyonu çağırabiliriz. // (14) Yapılacak işlemleri belli şartlara göre nce topluyoruz ve en nihayetinde o sırayı toplamış oluyoruz ve onu çağırmış oluyoruz. // (15) Mesela bir porlbem var ve şöyle demek istiyorum. // (16) Ona selamımı yollama direk uyarıyı yap!! gibi bir şey demek istiyorum myDelegate -= customerManager.SendMessage; // (17) bir işlemi geri almak istiyorum ben. // (18) -= kulandığımda da merhaba demeeyecek // (19) Msela bu işlemi, eğer şu olduysa şunu deme/yapma gibi kullanabiliriz. // MyDelegate2 myDelegate2 = customerManager.SendMessage; // (21) Ben bunu bu şekilde yazdığımda hata verecek // (22) string ifadeye uyan bir şey göndermemiz lazım çünkü string bir ifade istiyor. MyDelegate2 myDelegate2 = customerManager.SendMessage2; // (23) SendMessage2 yi kullandığım zaman hata vermeyecek çünkü string bir parametre yolluyoruz. myDelegate2 += customerManager.ShowAlert2; Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); // (28) Delegelerde, bir return type varsa en son return type olan delege neyse onu çalıştıracaktır. // (29) Biz buradaki kodlarda 2+3 ü yaptırdık buna da 2*3 ü eklemek istedik. En son return type ye 2*3ü yazdığı için ekranda 6 ifadesini gördük. myDelegate2("Hello, Send and Alert"); // (24) Burada da string bir ifadeyi parametre olarak yolluyoruz yalnız buradaki // (25) kısıtımız Hello ifadesini SendMessage2 ve ShowAlert2 için aynı anda yollamış oluyor myDelegate(); Console.ReadLine(); }
static void Main(string[] args) { MyDelegate d = new MyDelegate((x) => Console.WriteLine(x)); d("Hello World!"); var d2 = new MyDelegate2((x) => x + 0.1); Console.WriteLine(d2(1)); var d3 = new MyDelegate3(calculate_square); Console.WriteLine(d3.Invoke(3)); var d4 = new MyDelegate4(Method1); var d5 = new MyDelegate4(Method2); MyDelegate4 d6 = d4 + d5; d6.Invoke(); Func <int, int> get_square = calculate_square; Console.WriteLine(get_square(5)); Action myDelegateMethod1 = Method1; myDelegateMethod1.Invoke(); Action myDelegateDemo = () => { Console.WriteLine("hi"); }; myDelegateDemo.Invoke(); List <int> myIntList = new List <int> { 1, 3, 5, 99, 100, 200, 500, 999 }; var myBigNubmers = myIntList.Where(IsBigNumber); Console.WriteLine(String.Join(",", myBigNubmers.Select(x => x.ToString()))); List <int> excludeList = Exclude(myIntList, IsBigNumber); Console.WriteLine(String.Join(",", excludeList.Select(x => x.ToString()))); IEnumerable <Person> people = new List <Person>() { new Person("fang", "chen", new DateTime(1982, 7, 6)), new Person("fang2", "chen2", new DateTime(1982, 7, 5)), new Person("fang3", "chen3", new DateTime(1982, 7, 4)) }; var newOrderedPeople = people.OrderBy(GetSortFunction(SortOrder.BirthDate)); Console.WriteLine(String.Join("; ", newOrderedPeople.Select(p => p.ToString()))); }
public void Main() { MyDelegate3 <int> s = new MyDelegate3 <int>(Plus); MyDelegate3 <float> s2 = new MyDelegate3 <float>(Minus); MyDelegate3 <double> s3 = new MyDelegate3 <double>(Multiply); Calc(11, 22, s); //더하기 Calc(3.3f, 4.4f, s2); //빼기 Calc(5.5, 6.6, s3); //곱하기 }
static void Main(string[] args) { //实例化委托 var Mydel = new MyDelegate3 <string>(Simple2.PrintString); //添加方法 Mydel += Simple2.PrintUpperString; //调用委托. Mydel("Hi, There"); }
static void Main(string[] args) { Functional functional = new Functional(Method); MyDelegate3 myDelegate3 = functional.Invoke(new MyDelegate1(Method1), new MyDelegate2(Method2)); //оно впихнуло анонимный метод в myDelegate3, который возвратит Hello World Console.WriteLine(myDelegate3.Invoke()); //Delay Console.ReadKey(); }
public Form1() { InitializeComponent(); //create a delegate object d1 d1 = new MyDelegate1(Add); d2 = new MyDelegate2(FirstOddPositive); d3 = new MyDelegate2(minMax); //let d4 reference an anonymous method d4 = delegate(double a, double b) { return(a * b); }; d5 = delegate(int[] a) { int value = 0; int counter = 0; for (int i = 0; i < a.Length; i++) { if (a[i] > 0 && a[i] % 2 == 0) { value += a[i]; counter++; } } return(value / counter); }; d6 = delegate(int nu) { if (nu > 0 && nu % 2 == 1) { return(true); } else { return(false); } }; d7 = delegate(int mu) { if (mu >= 50 && mu <= 100) { return(true); } else { return(false); } }; }
static void Main(string[] args) { CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); MyDelegate myDelegate = customerManager.SendMessage; //myDelegate(); myDelegate += customerManager.ShowAlert; //myDelegate(); myDelegate -= customerManager.SendMessage; myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("Hello"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; //return type olduğu için en son değer döndürülür myDelegate3 += matematik.Carp; var sonuc = myDelegate3(2, 3); Console.WriteLine(sonuc); Console.ReadLine(); Action action; Func <int, int, int> add = matematik.Topla; Func <int> getRandomNumber = delegate() { Random random = new Random(); return(random.Next(1, 100)); }; Console.WriteLine(getRandomNumber()); Func <int> getRandomNumber2 = () => new Random().Next(1, 100); Thread.Sleep(1000); Console.WriteLine(getRandomNumber()); }
static void Main(string[] args) { //11.gunodev3 CustomerManager customerManager = new CustomerManager(); //customerManager.SendMessage(); //customerManager.ShowAlert(); //MyDelegate myDelegate = customerManager.SendMessage; //myDelegate += customerManager.ShowAlert; //myDelegate -= customerManager.SendMessage; //myDelegate(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2 += customerManager.ShowAlert2; myDelegate2("hello"); Matematik matematik = new Matematik(); MyDelegate3 myDelegate3 = matematik.Topla; myDelegate3 += matematik.Carp; Console.WriteLine(myDelegate3(2, 3)); Func <int, int, int> add = matematik.Topla; Console.WriteLine(add(4, 4)); Func <int> getRandomNumber = delegate() { Random random = new Random(); return(random.Next(1, 100)); }; Func <int> getRandomNumber2 = () => new Random().Next(1, 100); Console.WriteLine(getRandomNumber()); Console.WriteLine(getRandomNumber2()); Console.ReadLine(); }
static void Main(string[] args) { //delegateler methodlara refarans ediyor //delegateleri methodları daha iyi yönetmek için kullanırız. MyDelegate myDelegate = new MyDelegate(cevre); Console.WriteLine(myDelegate(4, 6)); MyDelegate2 myDelegate2 = new MyDelegate2(alan); Console.WriteLine(myDelegate2(4, 6)); myDelegate += alan; Console.WriteLine(myDelegate(4, 6)); MyDelegate3 myDelegate3 = new MyDelegate3(alan2); myDelegate3(5, 6); myDelegate3 += cevre2; myDelegate3(5, 8); }
static void Main(string[] args) { MyDelegate del = SayHello; del(); Test(del); MyDelegate2 del2 = Test2; del2("Saeed"); MyDelegate3 del3 = Test3; del3(20); MyDelegate4 del4 = Test4; int result = del4(20, 4); Console.WriteLine(result); }
private static void DelegateDemo() { CustomerManager customerManager = new CustomerManager(); MyDelegate myDelegate1 = customerManager.SendMessage; myDelegate1 += customerManager.ShowAlert; myDelegate1 -= customerManager.SendMessage; myDelegate1(); MyDelegate2 myDelegate2 = customerManager.SendMessage2; myDelegate2("hello my friend"); Calculator calculator = new Calculator(); MyDelegate3 myDelegate3 = calculator.Sum; myDelegate3 += calculator.Multiply; var result = myDelegate3(1, 3); Console.WriteLine(result); }