SORU
17 ŞUBAT 2010, ÇARŞAMBA


Eylem<T> vs temsilci olay

Geliştiriciler oldukça alternatif olarak aşağıdaki kodları kullanarak gördüm. Ne bunlar arasında tam olarak ne farklar var ve hangisi standart? Hepsi aynı mı, Action Func<T> bir temsilci de olduğu gibi:

public event Action<EmployeeEventAgs> OnLeave;
public void Leave()
{
    OnLeave(new EmployeeEventAgs(this.ID));
}

VS

public delegate void GoOnLeave(EmployeeEventAgs e);
public event GoOnLeave OnLeave;
public void Leave()
{
    OnLeave(new EmployeeEventAgs(this.ID));
}

CEVAP
17 ŞUBAT 2010, ÇARŞAMBA


Fwıw, ne örnek, standart kullanır .NET kuralları. EventHandler<T> genel etkinlik beyan etmelidir:

public event EventHandler<EmployeeEventArgs> Leave;

"On" öneki olayı başlatan korumalı bir yöntem için ayrılmış olmalıdır:

protected virtual void OnLeave(EmployeeEventArgs e) {
    var handler = Leave;
    if (handler != null) handler(this, e);
}

Değilsinvarbunu bu şekilde, ama kimseye anında desen tanımak, kodunuzu anlamak ve nasıl kullanılacağını bilmek ve özelleştirin.

Ve özel bir temsilci bildirimi arasında seçim yapmak zorunda olmaması büyük avantajı var ve Action<>, EventHandler<> en iyi yoldur. Sorunuza cevap verebilecek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • hidetake takayama

    hidetake tak

    3 Mart 2009