Provocar múltiples eventos
Actualización: noviembre 2007
Si la clase provoca varios eventos y se programan como se describe en Provocar un evento, el compilador generará un campo por cada instancia del delegado de evento. Si el número de eventos es alto, es posible que el costo de almacenamiento de un campo por delegado no sea aceptable. Para estos casos, .NET Framework dispone de una construcción que se conoce como propiedades de evento (eventos personalizados en Visual Basic 2005) y que se puede utilizar con otras estructuras de datos (de elección propia) para almacenar los delegados de evento.
Las propiedades Event están compuestas de declaraciones de evento acompañadas de descriptores de acceso de evento. Los descriptores de acceso de eventos son métodos que se definen para poder agregar o quitar instancias del delegado de evento de la estructura de datos de almacenamiento. Hay que tener en cuenta que las propiedades de evento son más lentas que los campos de evento, ya que se debe obtener cada delegado de evento antes de poder invocarlo. La memoria y la velocidad se ven afectadas. Si la clase define muchos eventos que no se provocan con frecuencia, es posible que desee implementar propiedades de evento. Los controles de formularios Windows Forms y los controles de servidor ASP.NET utilizan propiedades de evento en lugar de campos de evento.
Vea también
Tareas
Cómo: Controlar varios eventos mediante propiedades de eventos
Cómo: Declarar eventos que evitan que se pierda memoria
Referencia
System.ComponentModel.EventHandlerList