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:
- C# ile Kes-Kopyala-Yapıştır Olaylarını Fırlatan Textbox
- C# iki koddan hangisini tercih edersiniz?
- Kısa Sınav – 16
- C# ile Geçici Dosya (Temporary File) oluşturma sınıfı yazalım
- Ayın ilk ve son gününü bulmak için Extension Method
- C# siz olsanız hangisini yazardınız?
- Dosya boyutu almak için Head isteğinde bulunmak
- C# İsimsiz Tipler – Anonymous Types
- Bu kodda ne yanlış var? – 7
- Bu kodda ne yanlış var? – 9
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.. :)