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

  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006