Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Referencia del lenguaje C#
event (Referencia de C#)

La palabra clave event se utiliza para declarar un evento en una clase de editor.

El ejemplo siguiente muestra cómo declarar y generar un evento que utiliza EventHandler como tipo de delegado subyacente. Para obtener el ejemplo de código completo que muestra también cómo utilizar el tipo de delegado genérico EventHandler<T> y cómo suscribirse a un evento y crear un método de controlador de eventos, vea Cómo: Publicar eventos que cumplan las directrices de .NET Framework (Guía de programación de C#).

    public class Publisher
    {
        // Declare the delegate (if using non-generic pattern).
        public delegate void SampleEventHandler(object sender, SampleEventArgs e);

        // Declare the event.
        public event SampleEventHandler SampleEvent;

        // Wrap the event in a protected virtual method
        // to enable derived classes to raise the event.
        protected virtual void RaiseSampleEvent()
        {
            // Raise the event by using the () operator.
            SampleEvent(this, new SampleEventArgs("Hello"));
        }
    }

Los eventos son un tipo especial de delegado multidifusión que sólo se puede invocar desde dentro de la clase o estructura donde se declaran (la clase de editor). Si otras clases o estructuras se suscriben al evento, se llamará a sus métodos de controlador de eventos cuando la clase de editor genere el evento. Para obtener más información y ejemplos de código, vea Eventos (Guía de programación de C#) y Delegados (Guía de programación de C#).

Los eventos se pueden marcar como public, private, protected, internal o protectedinternal. Estos modificadores de acceso definen cómo los usuarios de la clase pueden tener acceso al evento. Para obtener más información, vea Modificadores de acceso (Guía de programación de C#).

Las palabras clave siguientes se aplican a los eventos.

Palabra clave Descripción Para obtener más información

static

Hace que el evento esté siempre disponible para los llamadores, aunque no exista ninguna instancia de la clase.

Clases estáticas y sus miembros (Guía de programación de C#)

virtual

Permite que las clases derivadas reemplacen el comportamiento del evento mediante la palabra clave override.

Herencia (Guía de programación de C#)

sealed

Especifica que el evento ya no es virtual para las clases derivadas.

 

abstract

El compilador no generará los bloques de descriptor de acceso a eventos add y remove y, por tanto, las clases derivadas deben proporcionar su propia implementación.

 

Un evento puede declararse como evento estático mediante la palabra clave static. Esto hace que el evento esté siempre disponible para los llamadores, aunque no exista ninguna instancia de la clase. Para obtener más información, vea Clases estáticas y sus miembros (Guía de programación de C#).

Un evento puede marcarse como virtual mediante la palabra clave virtual. Esto permite que las clases derivadas reemplacen el comportamiento del evento mediante la palabra clave override. Para obtener más información, vea Herencia (Guía de programación de C#). Un evento que reemplaza un evento virtual también puede ser de tipo sealed, lo que especifica que ya no es virtual para las clases derivadas. Por último, un evento se puede declarar como abstract, lo que significa que el compilador no generará los bloques de descriptor de acceso a eventos add y remove y, por tanto, las clases derivadas deben proporcionar su propia implementación.

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 1.6.6.4 Eventos

  • 7.13.3 Asignación de eventos

  • 10.7 Eventos

  • 13.2.3 Eventos de interfaz

Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker