Eventi (Guida per programmatori C#)
Tramite gli eventi una classe o un oggetto sono in grado di segnalare ad altre classi o oggetti una situazione di interesse. La classe che invia (o genera) l'evento è chiamata autore e le classi che ricevono (o gestiscono) l'evento sono chiamate sottoscrittori.
In un'applicazione C# Web o Windows Form tipica si sottoscrivono eventi generati da controlli quali pulsanti e caselle di riepilogo. È possibile utilizzare l'IDE di Visual C# per cercare gli eventi pubblicati da un controllo e selezionare quelli che si desidera gestire. L'IDE aggiunge automaticamente un metodo del gestore eventi vuoto e il codice per sottoscrivere l'evento. Per ulteriori informazioni, vedere Procedura: sottoscrivere e annullare la sottoscrizione di eventi (Guida per programmatori C#).
Cenni preliminari sugli eventi
Di seguito sono riportate le caratteristiche principali degli eventi:
L'autore determina quando un evento viene generato; i sottoscrittori determinano quale azione viene eseguita in risposta all'evento.
Un evento può avere più sottoscrittori. Uno sottoscrittore può gestire più eventi di più autori.
Gli eventi che non hanno sottoscrittore non vengono mai generati.
Gli eventi vengono in genere utilizzati per segnalare azioni dell'utente, ad esempio la scelta di un pulsante o di una voce di menu nell'interfaccia utente grafica.
Quando un evento ha più sottoscrittori, i gestori eventi vengono richiamati in modo sincrono quando viene generato un evento. Per richiamare gli eventi in modo asincrono, vedere Chiamata asincrona dei metodi sincroni.
Nella libreria di classi di .NET Framework, gli eventi sono basati sul delegato EventHandler e sulla classe base EventArgs.
Sezioni correlate
Per ulteriori informazioni, vedere:
Procedura: sottoscrivere e annullare la sottoscrizione di eventi (Guida per programmatori C#)
Procedura: generare eventi della classe base in classi derivate (Guida per programmatori C#)
Procedura: implementare gli eventi di interfaccia (Guida per programmatori C#)
Procedura: utilizzare un dizionario per archiviare istanze di evento (Guida per programmatori C#)
Procedura: implementare funzioni di accesso a eventi personalizzati (Guida per programmatori C#)
Specifiche del linguaggio C#
Per altre informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.
Capitoli del libro rappresentati
Delegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0
Vedere anche
Riferimenti
Delegati (Guida per programmatori C#)
Concetti
Altre risorse
Creazione di gestori eventi in Windows Form
Programmazione multithreading con il modello asincrono basato su eventi