Delegati ed eventi

6

Qual è la differenza tra

public delegate void SecondChangedHandler(Object clock, TimeInfoEventArgs ti);
public event SecondChangedHandler OnSecondChanged;

e

public event EventHandler<TimeInfoEventArgs> OnSecondChanged;

Quando dovresti usare quale e quali sono le migliori pratiche?

    
posta user47646 14.02.2012 - 13:44
fonte

2 risposte

9

Prima dei generici il primo approccio era l'unica opzione per dichiarare un delegato del gestore di eventi. Poiché i generici sono stati introdotti in .NET 2.0, EventHandler<T:EventArgs> è il modo preferito. Semanticamente non vi è alcuna differenza tra loro.

    
risposta data 14.02.2012 - 14:08
fonte
3

Non c'è nessuna differenza in effetti. Quindi EventHandler<T> ( msdn ) è stato appena aggiunto come "scorciatoia" per evitare di dover redeclare il delegato.

    
risposta data 14.02.2012 - 13:57
fonte

Leggi altre domande sui tag