Onnodige onderdrukking verwijderen (IDE0079)
Eigenschappen | Weergegeven als |
---|---|
Regel-id | IDE0079 |
Titel | Onnodige onderdrukking verwijderen |
Categorie | CodeQuality |
Subcategorie | Overbodige coderegels (onderdrukkingsvoorkeuren) |
Toepasselijke talen | C# en Visual Basic |
Opties | dotnet_remove_unnecessary_suppression_exclusions |
Overzicht
Deze regel markeert onnodige pragma - en SuppressMessageAttribute kenmerkonderdrukkingen in de bron.
Brononderdrukkingen onderdrukken schendingen van compiler- en analyseregels op specifieke plaatsen, maar niet in andere delen van de broncode. Over het algemeen gebruikt u ze om fout-positieven of minder belangrijke schendingen te onderdrukken die u niet wilt oplossen. Onderdrukkingen worden echter vaak verouderd. Dit kan gebeuren als een regel is opgelost om fout-positieven te voorkomen of als u uw code herstructureert en hierdoor de onderdrukkingen overbodig maakt. Deze regel helpt bij het identificeren van redundante onderdrukkingen, die kunnen worden verwijderd.
Notitie
Zelfs als u regels voor codestijlen inschakelt op build, is deze regel niet ingeschakeld. Deze wordt alleen weergegeven in de Visual Studio-editor.
Opmerking
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;
}
Opties
Met opties geeft u het gedrag op dat door de regel moet worden afgedwongen. Zie Optieindeling voor meer informatie over het configureren van opties.
dotnet_remove_unnecessary_suppression_exclusions
Eigenschappen | Weergegeven als | Beschrijving |
---|---|---|
Optienaam | dotnet_remove_unnecessary_suppression_exclusions | |
Optiewaarden | , gescheiden lijst met regel-id's of categorieën (voorafgegaan door category: ) |
Onderdrukkingen voor de vermelde regels uitsluiten |
all |
Hiermee wordt de regel uitgeschakeld (alle regel-id's uitgesloten) | |
none |
Hiermee schakelt u de regel in voor alle regels (geen uitsluitingen) | |
Standaardoptiewaarde | 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();
}
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
Als u deze hele categorie regels wilt uitschakelen, stelt u de ernst voor de categorie none
in op in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.