Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla |
IDE0079 |
| název | Odebrání nepotřebného potlačení |
| kategorie | CodeQuality |
| podkategorie | Nepotřebná pravidla kódu (předvolby potlačení) |
| příslušné jazyky | C# a Visual Basic |
| možností |
dotnet_remove_unnecessary_suppression_exclusions |
Přehled
Toto pravidlo označuje nepotřebné pragma a potlačení atributů SuppressMessageAttribute ve zdroji.
Potlačení zdroje potlačí porušení pravidel kompilátoru a analyzátoru na konkrétních místech, ale ne v jiných částech zdrojového kódu. Obvykle je používáte k potlačení falešně pozitivních nebo méně důležitých porušení, která nemáte v úmyslu opravit. Potlačení se ale často stává zastaralou. K tomu může dojít v případě, že je opraveno pravidlo, které brání falešně pozitivním výsledkům nebo refaktorujete kód a vykreslíte potlačení redundantně. Toto pravidlo pomáhá identifikovat redundantní potlačení, která je možné odebrat.
Poznámka
I když vsestavení povolíte pravidla stylu kódu, toto pravidlo není povolené. Zobrazuje se pouze v integrovaném vývojovém prostředí ( IDE).
Příklad
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;
}
Volby
Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.
Poznámka
Nastavení závažnosti ve formátu option_name = value:severity se nevztahuje na možnost dotnet_remove_unnecessary_suppression_exclusions a měla by se vyhnout. Místo toho zadejte závažnost pomocí samostatné položky, například:
dotnet_remove_unnecessary_suppression_exclusions = none
dotnet_diagnostic.IDE0079.severity = warning
dotnet_remove_unnecessary_suppression_exclusions (odstranění zbytečných vyloučení potlačení)
| Vlastnost | Hodnota | Popis |
|---|---|---|
| název možnosti | dotnet_remove_unnecessary_suppression_exclusions | |
| hodnoty možností | Čárkami oddělený seznam ID pravidel nebo kategorií (předpona category:) |
Vyloučí potlačení pro uvedená pravidla nebo kategorie. |
all |
Zakáže pravidlo (všechna ID pravidel vyloučená). | |
none |
Povolí pravidlo pro všechna pravidla (bez vyloučení). | |
| výchozí hodnota možnosti | 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();
}
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
Chcete-li tuto celou kategorii pravidel zakázat, nastavte závažnost kategorie tak, aby se none v konfiguračním souboru .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.
Viz také
- pragma
- SuppressMessageAttribute
- referenční pravidel stylu kódu