Tre idiomi correlati: evento, delegato, gestore di eventi. Mi confondo sempre con chi viene "aggiunto" a chi.Qual è la differenza tra un tipo di delegato e un tipo di gestore di eventi?
event += handler
event += delegate
handler += delegate
Da quello che so:
- delegato: un puntatore a una funzione con una firma nota.
- gestore di eventi: un delegato che è registrato per un evento. Fondamentalmente, è lo stesso di un delegato?
- evento: un elenco di delegati \ Event-gestori che vengono eseguiti quando l'evento viene richiamato tramite eventi()
cosa mi confonde di più è questa firma in MSDN:
public delegate void EventHandler(Object sender, EventArgs e)
Se non mi sbaglio, gli eventi sono "solo "delegati specializzati con obiettivi multipli. Non ho la specifica C# a portata di mano per cercarlo. –
@ Michael: io secondo la tua opinione. Un 'EventHander' è solo un delegato come' Action', 'TimerCallback' e molti altri. La differenza sta nel 'MulticastDelegate' utilizzato per inviare eventi a molti delegati di gestione degli eventi. – eFloh