Share via


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.

Zie ook