using System; class Program { public delegate void basittemsilci();// geri dönüş tipi void olan ve parametre almayan metotların adreslerini tutar public static void Fonk() { Console.WriteLine("Delegate ile Çağrıldı"); } static void Main() { basittemsilci bt = new basittemsilci(Fonk); bt(); /* Adresi tutulacak metodun imzasına uygun bir delegate tanımlanmıştır ardından main metodu içerisinde delegate nesnesi oluşturulmuş ve yapıcı metoduna parametre olarak metodun adı verilmiştir. bt referanı üzerinden Invoke metodu çağırılarak metot çağırılmış olur. */ } }
Delegate, metodun bir çalışma zamanında hangi metodun çalışması gerektiğine karar verme durumunda kullanılabilir.
Bu durumda karar verici metot çalıştırabileceği metotları temsil eden temsilci nesnelerini parametre olarak alır.
Çalışma zamanında ilgili metotlar için temsilci nesneleri oluşur ve karar verici metoda hangi metot çalıştırılacak ise
onun temsilcisi gönderilir.