Remover supressão desnecessária (IDE0079)
Propriedade | Valor |
---|---|
ID da regra | IDE0079 |
Título | Remover supressão desnecessária |
Categoria | CódigoQualidade |
Subcategoria | Regras de código desnecessárias (preferências de supressão) |
Idiomas aplicáveis | C# e Visual Basic |
Opções | dotnet_remove_unnecessary_suppression_exclusions |
Visão geral
Esta regra sinaliza
As supressões de origem suprimem violações das regras do compilador e do analisador em locais específicos, mas não em outras partes do código-fonte. Você geralmente os usa para suprimir falsos positivos ou violações menos importantes que você não pretende corrigir. No entanto, as supressões muitas vezes se tornam obsoletas. Isso pode acontecer se uma regra for fixada para evitar falsos positivos ou se você refatorar seu código e, ao fazer isso, tornar as supressões redundantes. Esta regra ajuda a identificar supressões redundantes, que podem ser removidas.
Observação
Mesmo que você habilitar regras de estilo de código node compilação, essa regra não estará habilitada. Ele só aparece no editor do Visual Studio.
Exemplo
using System.Diagnostics.CodeAnalysis;
class C1
{
// Necessary pragma suppression
#pragma warning disable IDE0051 // IDE0051: Remove unused member
private int UnusedMethod() => 0;
#pragma warning restore IDE0051
// IDE0079: Unnecessary pragma suppression
#pragma warning disable IDE0051 // IDE0051: Remove unused member
private int UsedMethod() => 0;
#pragma warning restore IDE0051
public int PublicMethod() => UsedMethod();
}
class C2
{
// Necessary SuppressMessage attribute suppression
[SuppressMessage("CodeQuality", "IDE0051:Remove unused private members", Justification = "<Pending>")]
private int _unusedField;
// IDE0079: Unnecessary SuppressMessage attribute suppression
[SuppressMessage("CodeQuality", "IDE0051:Remove unused private members", Justification = "<Pending>")]
private int _usedField;
public int PublicMethod2() => _usedField;
}
Opções
As opções especificam o comportamento que você deseja que a regra imponha . Para obter informações sobre como configurar opções, consulte Formato de opção.
Observação
Definir uma severidade no formato option_name = value:severity
não se aplica à opção dotnet_remove_unnecessary_suppression_exclusions
e deve ser evitado. Em vez disso, especifique a gravidade usando uma entrada separada, por exemplo:
dotnet_remove_unnecessary_suppression_exclusions = none
dotnet_diagnostic.IDE0079.severity = warning
dotnet_remove_unnecessary_suppression_exclusions
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | dotnet_remove_unnecessary_suppression_exclusions | |
Valores de opção | Lista separada por vírgulas de IDs ou categorias de regras (prefixada com category: ) |
Exclui supressões para as regras ou categorias listadas |
all |
Desabilita a regra (todas as IDs de regra excluídas) | |
none |
Habilita a regra para todas as regras (sem exclusões) | |
Valor da opção padrão | none |
using System.Diagnostics.CodeAnalysis;
class C1
{
// 'dotnet_remove_unnecessary_suppression_exclusions = IDE0051'
// Unnecessary pragma suppression, but not flagged by IDE0079
#pragma warning disable IDE0051 // IDE0051: Remove unused member
private int UsedMethod() => 0;
#pragma warning restore IDE0051
public int PublicMethod() => UsedMethod();
}
Suprimir um aviso
Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e, em seguida, reativar a regra.
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua gravidade como none
no arquivo de configuração .
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
Para desativar toda essa categoria de regras, defina a severidade da categoria para none
no arquivo de configuração .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Para obter mais informações, consulte Como suprimir avisos de análise de código.
Ver também
- pragma
- SuppressMessageAttribute
- de referência de regras de estilo de código