İşte bunun yazılım dilindeki karşılığını anlatmaya çalışalım.
Boş bir konsol uygulama projesi açalım.
Proje Oluşturma Adım 1
Proje Oluşturma Adım 2
Proje Oluşturma Adım 3
Proje Oluşturma Adım 4
İlk örneğimizi basit bir hesap makinesi üzerinden yapmaya çalışalım. Hesap makinesindeki işlemlerin her biri için ayrı metodlar yazalım. Sonrasında bu metodlara tek bir Delege ile işlem yaptırmaya çalışalım.
Örnek 1
using System;
namespace DelegeOrnek
{
class Program
{
delegate void delHesaplamalar(int intSayi1, int intSayi2);
static void Main(string[] args)
{
Console.WriteLine("#####################");
Console.WriteLine("Hesaplama Başladı");
delHesaplamalar hesap = new delHesaplamalar(fnTopla);
hesap += fnCikar;
hesap += fnBol;
hesap += fnCarp;
hesap += fnUslu;
hesap.Invoke(5, 3);
Console.WriteLine("Hesaplama Bitti");
Console.WriteLine("#####################");
}
static void fnTopla(int intA, int intB)
{
Console.WriteLine("İki sayının toplam: " + (intA + intB));
}
static void fnCikar(int intA, int intB)
{
Console.WriteLine("İki sayının farkı: " + (intA - intB));
}
static void fnBol(int intA, int intB)
{
Console.WriteLine("İki sayının bölümü: " + (intA / intB));
}
static void fnCarp(int intA, int intB)
{
Console.WriteLine("İki sayının çarpımı: " + (intA * intB));
}
static void fnUslu(int intA, int intB)
{
Console.WriteLine($"{intA} ^ {intB} sonucu: " + (Math.Pow(intA, intB)));
}
}
}
Kodlarımız hazır. Çalışmamızın tam içeriğine ait Github adresini sizlerle paylaşalım. Github Linki
Kodlarımızı yazdık. Her bir metodla Toplama, Çıkarma, Çarpma, Bölme ve Üs Alma işlemlerini ayrı ayrı yaptık. O metodları ise atamış olduğumuz delege sayesinde çalıştırmış olduk. Örneğin sonucu aşağıdaki gibi.
