Ana Sayfa > C#, Programlama > C# Event fırlatmak için yeni bir yöntem

C# Event fırlatmak için yeni bir yöntem

28 Temmuz 2010

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:



  1. hamza kibar
    Temmuz 28th, 2010 at 22:07 | #1

    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…

  2. Ağustos 12th, 2010 at 08:32 | #2

    Kontrolsüz kod; kod değildir.. :)