Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
| Property | valor |
|---|---|
| ID da regra | CA1716 |
| Título | Os identificadores não devem corresponder a palavras-chave |
| Categoria | Atribuição de nomes |
| A correção está quebrando ou não quebrando | Quebrando |
| Habilitado por padrão no .NET 10 | Não |
Motivo
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ê pode configurar tipos de visibilidade e símbolos.
Descrição da regra
Os identificadores para namespaces, tipos e membros virtuais e de interface não devem corresponder a palavras-chave definidas por linguagens destinadas ao Common Language Runtime. Dependendo da linguagem usada e da palavra-chave, erros e ambiguidades do compilador podem tornar a biblioteca difícil de usar.
Esta regra verifica palavras-chave nos seguintes idiomas:
- Visual Basic
- C#
- C++/CLI
A comparação sem diferenciação de maiúsculas e minúsculas é usada para palavras-chave do Visual Basic e a comparação que diferencia maiúsculas de minúsculas é usada para os outros idiomas.
Como corrigir violações
Selecione um nome que não apareça na lista de palavras-chave.
Example
// This code violates the rule.
public class Class { }
public class Event { }
public class String { }
public class Namespace { }
public class Object { }
public class Public { }
public class Static { }
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 que a biblioteca pode ser usada em todos os idiomas disponíveis no .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 CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none
Para obter mais informações, consulte Como suprimir avisos de análise de código.
Configurar código para análise
Use as opções a seguir para configurar em quais partes da base de código executar essa regra.
Você pode configurar essas opções apenas para esta regra, para todas as regras às quais elas se aplicam ou para todas as regras nesta categoria (de nomenclatura ) às quais elas se aplicam. 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 base de código executar essa regra, com base em sua acessibilidade, definindo a opção api_surface. 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
Observação
Substitua a parte XXXX do CAXXXX pelo ID da regra aplicável.
Tipos de símbolos analisados
Você pode configurar os tipos de símbolos que serão analisados por esta regra. Os valores permitidos são:
NamespaceNamedTypeMethodPropertyEventParameter
Separe vários valores com uma vírgula (,). O valor padrão inclui todos os tipos de símbolos na lista anterior.
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event