Entfernen sie unnötige Unterdrückung (IDE0079)
Eigentum | Wert |
---|---|
Regel-ID | IDE0079 |
Titel | Entfernen unnötiger Unterdrückung |
Kategorie- | CodeQuality |
Unterkategorie | Unnötige Coderegeln (Unterdrückungseinstellungen) |
Anwendbare Sprachen | C# und Visual Basic |
Optionen | dotnet_remove_unnecessary_suppression_exclusions |
Überblick
Diese Regel kennzeichnet unnötige pragma und SuppressMessageAttribute Attributunterdrückungen in der Quelle.
Quellunterdrückungen unterdrücken Verstöße gegen Compiler- und Analyseregeln an bestimmten Stellen, aber nicht in anderen Teilen des Quellcodes. Sie verwenden sie in der Regel, um falsch positive oder weniger wichtige Verstöße zu unterdrücken, die Sie nicht beheben möchten. Unterdrückungen werden jedoch oft veraltet. Dies kann passieren, wenn eine Regel behoben ist, um falsch positive Ergebnisse zu verhindern oder Den Code umzugestalten und dabei die Unterdrückung redundant zu rendern. Diese Regel hilft dabei, redundante Unterdrückungen zu identifizieren, die entfernt werden können.
Anmerkung
Auch wenn Sie Codestilregeln für buildaktivieren
Beispiel
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;
}
Optionen
Optionen geben das Verhalten an, das die Regel erzwingen soll. Informationen zum Konfigurieren von Optionen finden Sie unter Option format.
Anmerkung
Das Festlegen eines Schweregrads im Format option_name = value:severity
gilt nicht für die Option dotnet_remove_unnecessary_suppression_exclusions
und sollte vermieden werden. Geben Sie stattdessen den Schweregrad mithilfe eines separaten Eintrags an, z. B.:
dotnet_remove_unnecessary_suppression_exclusions = none
dotnet_diagnostic.IDE0079.severity = warning
dotnet_remove_unnecessary_suppression_exclusions
Eigentum | Wert | Beschreibung |
---|---|---|
Optionsname | dotnet_remove_unnecessary_suppression_exclusions | |
Optionswerte | Durch Trennzeichen getrennte Liste von Regel-IDs oder -Kategorien (präfixiert mit category: ) |
Schließt Unterdrückungen für die aufgeführten Regeln oder Kategorien aus. |
all |
Deaktiviert die Regel (alle ausgeschlossenen Regel-IDs) | |
none |
Aktiviert die Regel für alle Regeln (keine Ausschlüsse) | |
Standardwert | 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();
}
Unterdrücken einer Warnung
Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
Um diese gesamte Regelkategorie zu deaktivieren, legen Sie den Schweregrad für die Kategorie auf none
in der Konfigurationsdateifest.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.