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