CA1716: Identificadores não devem corresponder a palavras-chave
Property | Valor |
---|---|
ID da regra | CA1716 |
Título | Identificadores não devem corresponder a palavras-chave |
Categoria | Nomenclatura |
Correção interruptiva ou sem interrupção | Quebra |
Habilitado por padrão no .NET 9 | Não |
Causa
O nome de um namespace, tipo ou membro virtual ou de interface corresponde a uma palavra-chave reservada em uma linguagem de programação.
Por padrão, essa regra examina apenas namespaces, tipos e membros visíveis externamente, mas você poderá configurar tipos de visibilidade e símbolos.
Descrição da regra
Identificadores para namespaces, tipos e membros virtuais e de interface não devem corresponder a palavras-chave definidas por linguagem com o Common Language Runtime de destino. Dependendo da linguagem usada e da palavra-chave, erros e ambiguidades do compilador podem dificultar o uso da biblioteca.
Essa regra verifica as palavras-chave nos seguintes idiomas:
- Visual Basic
- C#
- C++/CLI
A comparação que não diferencia maiúsculas de minúsculas é usada para palavras-chave do Visual Basic e a comparação que diferencia maiúsculas de minúsculas é usada para outras linguagens.
Como corrigir violações
Selecione um nome que não apareça na lista de palavras-chave.
Quando suprimir avisos
Você pode suprimir um aviso dessa regra se tiver certeza de que o identificador não confundirá os usuários da API e se a biblioteca for utilizável em todos os idiomas disponíveis no .NET.
Suprimir um aviso
Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.
#pragma warning disable CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.
Configurar código para analisar
Use as opções a seguir para configurar em quais partes da base de código essa regra deve ser executada.
Você pode configurar essas opções apenas para essa regra, para todas as regras às quais ela se aplica ou para todas as regras nessa categoria (Nomenclatura) às quais ela se aplica. Para saber mais, confira Opções de configuração de regra de qualidade de código.
Incluir superfícies de API específicas
É possível configurar em quais partes da base de código essa regra deverá ser executada, com base na acessibilidade. Por exemplo, para especificar que a regra deverá ser executada apenas na superfície de API não pública, adicione o seguinte par chave-valor a um arquivo .editorconfig no projeto:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Tipos de símbolos analisados
É possível configurar os tipos de símbolos que serão analisados por essa regra. Os valores permitidos são:
Namespace
NamedType
Method
Property
Event
Parameter
Separe vários valores com uma vírgula (,
). O valor padrão inclui todos os tipos de símbolo na lista anterior.
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event