Converter typeof
em nameof
(IDE0082)
Propriedade | Valor |
---|---|
ID da regra | IDE0082 |
Título | Converter typeof em nameof |
Categoria | Estilo |
Subcategoria | Regras de linguagem (preferências no nível de expressão) |
Linguagens aplicáveis | C# e Visual Basic |
Visão geral
Essa regra de estilo recomenda o uso do operador nameof sobre o operador typeof seguido de acesso de membro Name. Ele só será acionado quando o nome for idêntico em ambos os casos.
Opções
Essa regra não tem opções de estilo de código associadas.
Exemplo
// Code with violations
var n1 = typeof(T).Name;
var n2 = typeof(int).Name;
// Fixed code
var n1 = nameof(T);
var n2 = nameof(Int32);
' Code with violations
Dim n1 = GetType(T).Name
Dim n2 = GetType(Integer).Name
' Fixed code
Dim n1 = NameOf(T)
Dim n2 = NameOf(Int32)
Suprimir um aviso
Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.
#pragma warning disable IDE0082
// The code that's violating the rule is on this line.
#pragma warning restore IDE0082
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.IDE0082.severity = none
Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style
como none
no arquivo de configuração.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obter mais informações, confira Como suprimir avisos de análise de código.