Share via


Como: implementar acessadores de evento personalizada (guia de programação do C#)

Um evento é um tipo especial de delegado multicast que pode ser chamado apenas de dentro da classe declarada na.Código do cliente se inscreve para o evento, fornecendo uma referência a um método que deve ser chamado quando o evento é acionado.Esses métodos são adicionados à lista de invocação de delegado por meio de acessadores de evento, que se assemelham às acessadores da propriedade, exceto que os acessadores de evento são nomeados add e remove.Na maioria dos casos, você não precisa fornecer acessadores de evento personalizado.Quando nenhum acessador do evento personalizado é fornecidos em seu código, o compilador adicionará automaticamente.No entanto, em alguns casos você terá que fornecer um comportamento personalizado.Por exemplo, é mostrado no tópico Como: implementar eventos de interface (guia de programação do C#).

Exemplo

O exemplo a seguir mostra como implementar personalizados adicionar e remover acessadores de evento.Embora você pode substituir qualquer código dentro dos acessadores, recomendamos que você bloqueie o evento antes de adicionar ou remover um novo método de manipulador de eventos.

event EventHandler IDrawingObject.OnDraw
        {
            add
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent += value;
                }
            }
            remove
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent -= value;
                }
            }
        }

Consulte também

Referência

Eventos (guia de programação do C#)

evento (referência de C#)