Beispiel #1
0
        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");
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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
Beispiel #4
0
        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();
        }
Beispiel #5
0
        // 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();
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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();
        }
Beispiel #9
0
        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();
        }
Beispiel #10
0
        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();
        }
Beispiel #11
0
        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();
        }
Beispiel #12
0
        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();
        }
Beispiel #13
0
        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();
        }
Beispiel #14
0
        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();
        }
Beispiel #15
0
        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();
        }
Beispiel #16
0
        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();
        }
Beispiel #17
0
        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();
        }
Beispiel #18
0
        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();
        }
Beispiel #19
0
        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();
        }
Beispiel #20
0
        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();
        }
Beispiel #21
0
        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())));
        }
Beispiel #22
0
        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);   //곱하기
        }
Beispiel #23
0
        static void Main(string[] args)
        {
            //实例化委托
            var Mydel = new MyDelegate3 <string>(Simple2.PrintString);

            //添加方法
            Mydel += Simple2.PrintUpperString;

            //调用委托.
            Mydel("Hi, There");
        }
Beispiel #24
0
        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);
                }
            };
        }
Beispiel #26
0
        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());
        }
Beispiel #27
0
        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();
        }
Beispiel #28
0
        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);
        }
Beispiel #29
0
        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);
        }
Beispiel #30
0
        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);
        }