Partilhar via


CA1030: Use eventos quando apropriado

Propriedade valor
ID da regra CA1030
Cargo Use eventos quando apropriado
Categoria Desenho
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 8 Não

Causa

Um nome de método começa com um dos seguintes:

  • Complemento
  • RemoveOn
  • Fogo
  • Aumentar

Por padrão, essa regra examina apenas métodos visíveis externamente, mas isso é configurável.

Descrição da regra

Esta regra deteta métodos que têm nomes que normalmente seriam usados para eventos. Os eventos seguem o padrão de design Observador ou Publicar-Subscrever; eles são usados quando uma mudança de estado em um objeto deve ser comunicada a outros objetos. Se um método é chamado em resposta a uma alteração de estado claramente definida, o método deve ser invocado por um manipulador de eventos. Os objetos que chamam o método devem gerar eventos em vez de chamar o método diretamente.

Alguns exemplos comuns de eventos são encontrados em aplicativos de interface do usuário em que uma ação do usuário, como clicar em um botão, faz com que um segmento de código seja executado. O modelo de evento .NET não está limitado às interfaces do usuário. Ele deve ser usado em qualquer lugar onde você deva comunicar alterações de estado para um ou mais objetos.

Como corrigir violações

Se o método for chamado quando o estado de um objeto for alterado, considere alterar o design para usar o modelo de evento .NET.

Quando suprimir avisos

Suprima um aviso dessa regra se o método não funcionar com o modelo de evento .NET.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable CA1030
// The code that's violating the rule is on this line.
#pragma warning restore CA1030

Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua severidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.CA1030.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Configurar código para análise

Use a opção a seguir para configurar em quais partes da base de código executar essa regra.

Você pode configurar essa opção apenas para esta regra, para todas as regras às quais ela se aplica ou para todas as regras nesta categoria (Design) às quais ela se aplica. Para obter mais informações, consulte Opções de configuração da regra de qualidade de código.

Incluir superfícies de API específicas

Você pode configurar em quais partes da sua base de código executar essa regra, com base em sua acessibilidade. Por exemplo, para especificar que a regra deve ser executada somente na superfície de API não pública, adicione o seguinte par chave-valor a um arquivo .editorconfig em seu projeto:

dotnet_code_quality.CAXXXX.api_surface = private, internal