Olaylar(events) temsilcilerin(delegate) özel halidir. Örnek: Stok hesaplarının tutulduğu bir class yada bir uygulamada stokların belirli bir adedin altına düşmesiyle bazı kütüphane yada yordamlarının tetiklenilmesidir.
Kendi olaylarımız tanımlandığında olayın diğer nesneler tarafından ele alınabilmesini sağlamak için manuel tetikleme yapılır. Bu tetiklemenin ardından çalışma zamanında ele alınacak olay metodunun işaret edilmesi ise temsilciler (delegate) yardımıyla sağlanır.
using System; using System.Threading; delegate void Temsilci(); class Sinif { public event Temsilci Eventx; public void event_metodu() { if (Eventx!=null) { Eventx(); } } } class Program { static void Main() { Sinif mysinif = new Sinif(); mysinif.Eventx += new Temsilci(my_eventim); mysinif.event_metodu(); } static void my_eventim() { Console.WriteLine("olay gerçekleşti"); } }