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ş:
Zararlı bir görünüm'iOS8/s temsil...
'sonu' 'resize' ol...
Olay bildirimi anonim boş bir temsilci...
olay Eylem<> vs event EventHandl...
Eylem kullanır temsilci C#...