Delegate kelimesinin Türkçe karşılığı delege olarak karşımıza çıkmaktadır. Bir çok projede kullanılan Delegate’lerden bahsedeceğiz bu yazımızda. İlk olarak amacını anlatmak gerekirse delegeler metot tutuculardır diyebiliriz. Delegeler, metotların adreslerini dolayısıyla metotların kendilerini tutabilen yapılardır. Delegeler referans tipli yapıda oldukları için nesne alınabilir.
Delege kullanırken dikkat etmemiz gereken noktalar vardır. Bunlar;
- Geri dönüş tipi tuttuğu metodun geri dönüş tipiyle anı olmalıdır.
- Tuttuğu metodun parametre tipleriyle aynı olmalıdır.
- Aynı sayıda parametre içermelidir.
Aşağıda ki kod parçasında da gördüğünüz gibi matematiksel 4 işlemi yapıyoruz. Burada dikkat etmemiz gereken şey bu 4 fonksiyonda sadece dışarıdan 2 adet parametre alıyor ve aynı tip değer döndürüyor. Sonrasında yine aynı tipte ve aynı değer döndüren bir delege tanımlıyoruz. Bu delegenin içersine dikkat ederseniz bir fonksiyon yani metot atadım. Bu yüzden delegelere fonksiyon tutucu da diyebiliriz.
static void Main(string[] args) { Islemler islemler = new Islemler(Topla); int hesap = islemler(300,44); Console.WriteLine(hesap); Console.ReadKey(); } // Delege oluşturuyoruz public delegate int Islemler(int ilkSayi, int ikinciSayi); // 4 temel işlemi gerçekleştiriyoruz public static int Topla(int a, int b) { return a + b; } public static int Cikar (int a,int b) { return a - b; } public static int Carp(int a, int b) { return a * b; } public static int Bol(int a, int b) { return a / b; }
Aklınıza takılan sorular olursa mail veya yorum atarak bana ulaşabilirsiniz.
Bir yanıt yazın