Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os eventos são mecanismos que permitir executar quando ocorre uma ação de códigos específicos do aplicativo. Eventos acontecer antes de ocorre a ação associada (pre-events) ou depois que a ação ocorre (post-events). Por exemplo, quando um usuário clica em um botão em uma janela, um post-evento é aumentado permitindo métodos específicos de aplicativo executar. Um delegado manipulador de evento é limite ao método a ser executado quando o sistema gera um evento. O manipulador de eventos é adicionado ao evento para que ele possa chamar seu método quando o evento é gerado. Eventos podem ter dados específicos do evento (por exemplo, um mouse para baixo de evento pode incluir dados sobre o local do cursor de tela).
A assinatura do evento-método de manipulação é idêntica à assinatura do evento-delegado manipulador. O evento-assinatura manipulador observa as seguintes convenções:
O tipo de retorno é Void.
O primeiro parâmetro é chamado sender e é do tipo Object. Esse é o objeto que disparou o evento.
O segundo parâmetro é denominado e e é do tipo EventArgs ou uma classe derivada de EventArgs.Isso são os dados de evento específico.
O método tem exatamente dois parâmetros.
Para mais informações sobre eventos, veja Tratamento e disparada de eventos.
Use a terminologia de aumento para eventos em vez de incêndio ou disparar.
Usar sistema.eventoHandler <t>em vez de criar manualmente novos representantes para ser usado sistema autônomo evento manipuladores.
Essa diretriz aplica-se principalmente a novas áreas de recurso. Se estão ampliando a funcionalidade em uma área que já usa não genérica evento manipuladores, você pode continuar a usar não genérica evento manipuladores para manter o design consistente.
Não pode estar em conformidade com essa diretriz se sua biblioteca destina-se a versões do .NET estrutura que não oferecem suporte a genéricos.
Considere o uso de uma classe derivada de sistema.EventArgs sistema autônomo o argumento de evento, a menos que tenha certeza absoluta de evento nunca precise executar todos sistema autônomo dados para o método de manipulação de eventos, caso em que você pode usar o tipo de sistema.EventArgs diretamente.
Se você definir um evento que leva um EventArgs ocorrência em vez de uma classe derivada que você define, não é possível adicionar dados para o evento em versões posteriores. Por esse motivo, é preferível criar uma classe derivada vazia de EventArgs. Isso permite que você adicione dados para o evento em versões mais recentes sem introduzir alterações significativas.
Utilizar um método virtual protegido para gerar cada evento.Isso se aplica somente a non-estático eventos em classes sem lacre, não a estruturas, classes seladas ou eventos estático.
Conformidade com essa diretriz permite que as classes derivadas manipular um evento da classe base, substituindo o método protegido. O nome do protegidovirtual (Overridable no Visual Basic) método deve ser o mesmo que o nome do evento prefixado com On. Por exemplo, protegido método virtual para um evento chamado"TimeChanged"é nomeado"OnTimeChanged".
Observação importante: |
|---|
Classes derivadas substituem o método virtual protegido não são necessárias para chamar a implementação da classe base. A classe base precisa continuar a funcionar corretamente, mesmo se sua implementação não for chamada. |
Use um parâmetro que é tipado sistema autônomo a classe de argumento de evento para o método protegido que gera um evento.O parâmetro deve ser nomeado e.
The FontDialog classe fornece o método seguinte, que dispara a Apply evento:
Protected Overridable Sub OnApply( ByVal e As EventArgs )
protected virtual void OnApply(EventArgs e);
Não transmita nulo (Nothing no Visual Basic) sistema autônomo o parâmetro do remetente quando disparar um evento não-estático.
Em eventos estático, a sender o parâmetro deve ser null (Nothing no Visual Basic).
Não transmita nulo (Nothing no Visual Basic) sistema autônomo o parâmetro de dados de evento quando disparar um evento.
Se não houver nenhum dado de evento, passar Empty em vez de null.
Esteja preparado para executar o código arbitrário no método de manipulação de eventos.
Considere colocar o código onde o evento é aumentado em um bloco try-catch para impedir encerramento de programa devido a exceções sem tratamento lançadas de manipuladores de eventos.
Considere a possibilidade de geração de eventos pode cancelar o usuário participante.Isso se aplica somente a pre-events.
Se você estiver criando um evento pode ser cancelado, use CancelEventArgs em vez de EventArgs sistema autônomo a classe base para o objeto de dados do evento e.
Partes direitos autorais 2005 Microsoft Corporation. Todos os direitos reservados.
Partes direitos autorais Addison-Wesley Corporation. Todos os direitos reservados.
Para obter mais informações sobre diretrizes de design, consulte a "diretrizes de design do estrutura: Catálogo de convenções, idiomas e padrões para bibliotecas do .NET reutilizável"Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.
Consulte também
Conceitos
Design de manipulador de eventos personalizado
Outros recursos
Diretrizes de design de membro
Diretrizes de Design para desenvolvimento bibliotecas de classe
Observação importante: