Olay Çağırma
Olayları çağırmak temsilcileri çağırmaktan farksızdır. Çağrımı yaptığınız zaman olay
tanımına ilişkilendirilmiş temsilci üzerinden abone olan tüm metotlar sırayla çağrılır. Burada
dikkat edilmesi gereken husus, çağrım yapılmadan önce olay temsilcisinin herhangi bir olay
metodunu işaret ettiğinden emin olmaktır. Temsilcilerin herhangi bir metodu işaret
etmediklerinde ?null? değere sahip olduğunu unutmayınız. Aksi halde çalışma zamanında 21
if (StokAzaldi != null) // Olay Temsilcisi boş değilse…
{
StokAzaldi(); // Olayı çağır.
}
namespace StokTakip
{
public class Urun
{
// Parametresi ve geri dönüş tipi olmayan olay temsilcisinin tanımlanması
public delegate void StokAzaldiEventHandler();
// Olay temsilcisi üzerinden event tanımlanması
public event StokAzaldiEventHandler StokAzaldi;
?NullReferenceException? hatası alırsınız. Olay çağrımından önce ?null? değer
karşılaştırmasının yapılması gerekmektedir.
Olayın tetiklenmesi yalnızca olay tanımının yapıldığı sınıf içinde gerçekleştirilebilir.