Ta bort onödig undertryckning (IDE0079)
Property | Värde |
---|---|
Regel-ID | IDE0079 |
Title | Ta bort onödig undertryckning |
Kategori | CodeQuality |
Underkategori | Onödiga kodregler (inställningar för undertryckning) |
Tillämpliga språk | C# och Visual Basic |
Alternativ | dotnet_remove_unnecessary_suppression_exclusions |
Översikt
Den här regeln flaggar onödiga pragma - och SuppressMessageAttribute attributundertryckningar i källan.
Källundertryckningar undertrycker överträdelser av kompilator- och analysregler på specifika platser men inte i andra delar av källkoden. Du använder dem vanligtvis för att förhindra falska positiva eller mindre viktiga överträdelser som du inte tänker åtgärda. Undertryckningar blir dock ofta inaktuella. Detta kan inträffa om en regel har åtgärdats för att förhindra falska positiva identifieringar eller om du omstrukturerar koden och därmed gör undertryckningarna redundanta. Den här regeln hjälper till att identifiera redundanta undertryckningar som kan tas bort.
Kommentar
Även om du aktiverar regler för kodformat vid kompilering är den här regeln inte aktiverad. Den visas bara i Visual Studio-redigeraren.
Exempel
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;
}
Alternativ
Alternativ anger det beteende som du vill att regeln ska framtvinga. Information om hur du konfigurerar alternativ finns i Alternativformat.
dotnet_remove_unnecessary_suppression_exclusions
Property | Värde | beskrivning |
---|---|---|
Alternativnamn | dotnet_remove_unnecessary_suppression_exclusions | |
Alternativvärden | , avgränsad lista över regel-ID:er eller kategorier (prefix med category: ) |
Exkluderar undertryckningar för de listade reglerna |
all |
Inaktiverar regeln (alla regel-ID:t exkluderas) | |
none |
Aktiverar regeln för alla regler (inga undantag) | |
Standardalternativvärde | 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();
}
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
Om du vill inaktivera hela den här regelkategorin anger du allvarlighetsgraden för kategorin till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.
Se även
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för