Esempio n. 1
0
        static void Main(string[] args)
        {
            //DELEGATE - TEMSİLCİ

            /* Bir temsilci birden fazla metodu temsil eden bir öenektir.
             * Fakat temsil ettiği örneklerin parametre tipleri ile geri dönüş tipi temsilci ile aynı olmadılıdır.
             * Yani temsil ettiği metodun imzasını karşılayabilmelidir.
             */

            ////Hesap hesap = new Hesap(Topla); // bu da diğer kurulum yöntemi
            //Hesap hesap;
            //hesap = Topla;
            //Console.WriteLine("Topla :" + hesap(5, 4));
            //hesap = Carp;
            //Console.WriteLine("Çarpım :" + hesap.Invoke(5, 4));//bir özellikmiş gibi de kullanılabilir.
            //hesap = Cıkar;
            //Console.WriteLine("Fark :" + hesap(5, 4));

            ////bol kısmında ise hata verecek çünkü bölümün geri dönüş tipi int değil decimal.
            ////ama bizim hesap delegetimiz int geri dönüş tipine sahip
            //hesap = Bol; //wrong return type yazacaktır.
            //Console.WriteLine("Bolum :" + hesap(5, 4));

            // GENERİC DELEGATE

            GenDel <string> buyut = new GenDel <string>(Metin_Buyut);

            buyut.Invoke("regaip kurt");
            GenDel <int> artır = new GenDel <int>(Artır);

            artır(9);


            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Marvellous   mobj   = new Marvellous();
            GenDel <int> intDel = new GenDel <int>(mobj.AddI);

            Console.WriteLine(" Adding of (2,3) are: {0} ", intDel(2, 3));

            GenDel <float> floatDel = new GenDel <float>(mobj.AddF);

            Console.WriteLine(" Adding of (2.3f,3.2f) are: {0} ", floatDel(2.3f, 3.2f));

            GenDel <double> doubleDel = new GenDel <double>(mobj.AddD);

            Console.WriteLine(" Adding of (2.12,3.21) are: {0} ", doubleDel(2.12, 3.21));

            GenDel <string> stringDel = new GenDel <string>(mobj.AddS);

            Console.WriteLine(" Adding of ('rohit','Kadam') are: {0} ", stringDel("rohit", "Kadam"));
        }