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")); }