Condividi tramite


Generazione di più eventi

Se la propria classe genera più eventi e questi vengono implementati come descritto in Generazione di un evento, il compilatore genererà un campo per ciascuna istanza di delegato di evento. In presenza di un gran numero di eventi, il costo della memorizzazione di un campo per ogni delegato può rivelarsi eccessivo. Per questi casi, in .NET Framework è disponibile un costrutto denominato proprietà evento (eventi personalizzati in Visual Basic 2005) che è possibile utilizzare con un'altra struttura di dati a scelta per archiviare i delegati degli eventi.

Le proprietà evento sono composte da dichiarazioni di eventi accompagnate dalle funzioni di accesso agli eventi. I metodi di accesso agli eventi sono metodi che lo sviluppatore definisce per consentire l'aggiunta e la rimozione di istanze dei delegati di evento dalla struttura dati di memorizzazione. Si noti che le proprietà evento sono più lente dei campi evento in quanto prima di poter chiamare un delegato, è necessario recuperarlo. Si pone pertanto la necessità di scegliere tra risparmio di memoria e velocità. Se la propria classe definisce molti eventi che vengono generati di rado, è possibile che si preferisca implementare le proprietà evento. I controlli Windows Form e i controlli server ASP.NET utilizzano le proprietà evento anziché i campi evento.

Vedere anche

Attività

Procedura: gestire più eventi mediante le relative proprietà
Procedura: dichiarare gli eventi per preservare l'utilizzo della memoria

Riferimenti

System.ComponentModel.EventHandlerList
System.Web.UI.Control.Events

Altre risorse

Gestione e generazione di eventi