2009-08-03 9 views

risposta

10

Un event definisce un insieme di metodi che includono "aggiungi" e "rimuovi" (nello stesso modo in cui una proprietà definisce "get" e "set"). a questo è efficace:

obj.add_SomeEvent(handler); 

Internamente, l'evento poteva fare qualsiasi cosa; ci sono 2 casi comuni:

  • eventi con un campo delegato (inclusi eventi "campo-like")
  • EventHandlerList implementazioni

Con un delegato, da utilizzare efficacemente Delegate.Combine:

handler = Delegate.Combine(handler, value); 

Con un EventHandlerList c'è un oggetto chiave:

Events.AddHandler(EventKey, value);