evento (translation from VPE for Csharp Reference)

The event palavra-chave é usada para declarar um evento em uma classe do publicador.

Exemplo

O exemplo a seguir mostra sistema autônomo declarar e acionar um evento que use EventHandler sistema autônomo o tipo delegado subjacente. No exemplo de código completo que também mostra como usar o genéricoEventHandler<TEventArgs> delegado o tipo e como se inscrever em um evento e criar um método manipulador de eventos, consulte Como: Publicar eventos que estão em conformidade com diretrizes do .NET estrutura (guia de programação translation from VPE for Csharp).

public class SampleEventArgs
{
    public SampleEventArgs(string s) { Text = s; }
    public String Text {get; private set;} // readonly
}
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"));
    }
}

Eventos são um tipo especial de delegado multicast que só pode ser chamado de dentro da classe ou struct onde elas são declaradas (a classe do publicador).Se outras classes ou estruturas assinar o evento, seus métodos manipuladores de eventos serão chamados quando a classe o publicador gera o evento.Para obter mais informações e exemplos de código, consulte Eventos (Guia de programação do C#) e Representantes (guia de programação C#).

Events can be marked as public, private, protected, internal, or protectedinternal.Esses modificadores de acesso definem como os usuários da classe podem acessar o evento.Para obter mais informações, consulte Modificadores de acesso (guia de programação C#).

Palavras-chave e eventos

Palavras-chave a seguir se aplicam a eventos.

Keyword

Descrição

Para obter mais informações

estático

Faz com que o evento disponível para os chamadores a qualquer momento, mesmo que nenhuma instância da classe existe.

Classes estáticas e membros de classe estáticos (guia de programação C#)

virtual

Permite que as classes derivadas substituir o comportamento do evento usando o Substituir palavra-chave.

Herança (Guia de programação C#)

autenticada

Especifica que para classes derivadas é não virtual.

 

abstrata

O compilador não irá gerar o add e remove blocos de acessador do evento e classes derivadas, portanto, devem fornecer sua própria implementação.

 

Um evento pode ser declarado sistema autônomo um evento estático usando o estático palavra-chave.Isso disponibiliza o evento para os chamadores a qualquer momento, mesmo que exista nenhuma ocorrência da classe.Para obter mais informações, consulte Classes estáticas e membros de classe estáticos (guia de programação C#).

Um evento pode ser marcado sistema autônomo um evento virtual usando o virtual palavra-chave.Isso permite que as classes derivadas substituir o comportamento do evento usando o Substituir palavra-chave.Para obter mais informações, consulte Herança (Guia de programação C#).Um evento substituindo um evento virtual também pode ser selado, que especifica que para classes derivadas não é mais virtual.Por fim, um evento pode ser declarado Resumo, que significa que o compilador não gerará o add e remove blocos de acessador do evento. Portanto, as classes derivadas devem fornecer sua própria implementação.

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • Eventos 1.6.6.4

  • 7.16.3 Evento atribuição

  • Eventos 10,8

  • 13.2.3 Interface eventos

Consulte também

Tarefas

Como: Combinar representantes (Representantes Multicast) (Guia de programação C#)

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

Modificadores (referência C#)

Outros recursos

Referência C#