C# Event fırlatmak için yeni bir yöntem
C# ile geliştirdiğimiz sınıflardan event yayınlamaya genellikle ihtiyaç duyarız.
Bir sınıftan event yayınlamak için, artık ezberlediğimiz üzere, aşağıdaki yöntemi kullanırız;
public class EventTest
{
public event EventHandler MyEvent;
public void RaiseEvent()
{
if(MyEvent != null)
{
MyEvent(this, EventArgs.Empty);
}
}
}
Devlicious‘da gördüğüm makalede, Rob Eisenberg yeni bir yöntem öneriyor.
Makaleye göre, yukarıdaki event yayınlama kodunu aşağıdaki gibi de yazabiliriz;
public class EventTest
{
public event EventHandler MyEvent = delegate {};
public void RaiseEvent()
{
MyEvent(this, EventArgs.Empty);
}
}
Sizce hangisini tercih etmeliyiz?
İlgili diğer başlıklar:
ikinci kod bence daha güzel, hususen yeni öğrenen kişiler için, çünkü her defasında null mu diye kontrol etmek sıkıcı birşey… eğer bu şekilde kullanımı alışkanlık edinirse, null vs kontol etmeyecek, üstelik kod daha okunur oluyor… bende artık bu tarzı tercih edeceğim…
Kontrolsüz kod; kod değildir.. :)