Megosztás a következőn keresztül:


Szükségtelen elnyomás eltávolítása (IDE0079)

Tulajdonság Érték
Szabályazonosító IDE0079
Cím Szükségtelen elnyomás eltávolítása
Kategória CodeQuality
Alkategória Szükségtelen kódszabályok (letiltási beállítások)
Alkalmazandó nyelvek C# és Visual Basic
Beállítások dotnet_remove_unnecessary_suppression_exclusions

Áttekintés

Ez a szabály szükségtelen pragmát és SuppressMessageAttribute attribútumelvonásokat jelöl a forrásban.

A forráselvonások letiltják a fordító- és elemzőszabályok megsértését bizonyos helyeken, a forráskód más részeiben azonban nem. Általában arra használja őket, hogy elnyomják a hamis pozitív vagy kevésbé fontos szabálysértéseket, amelyeket nem kíván kijavítani. Az elnyomások azonban gyakran elavulttá válnak. Ez akkor fordulhat elő, ha egy szabályt kijavítanak a hamis pozitív értékek elkerülése érdekében, vagy újrabontást végez a kódon, és így redundánssá teszik az elnyomásokat. Ez a szabály segít azonosítani a redundáns elnyomásokat, amelyek eltávolíthatók.

Feljegyzés

Még ha engedélyezi is a kódstílus-szabályokat a buildeléskor, ez a szabály nincs engedélyezve. Csak a Visual Studio szerkesztőjében jelenít meg.

Példa

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;
}

Beállítások

A beállítások határozzák meg a szabály kényszerítéséhez használni kívánt viselkedést. A beállítások konfigurálásával kapcsolatos információkért tekintse meg az Option formátumot.

dotnet_remove_unnecessary_suppression_exclusions

Tulajdonság Érték Leírás
Beállítás neve dotnet_remove_unnecessary_suppression_exclusions
Beállításértékek , szabályazonosítók vagy -kategóriák elválasztott listája (előtaggal category:) Kizárja a felsorolt szabályok letiltásait
all Letiltja a szabályt (az összes szabályazonosító ki van zárva)
none Engedélyezi a szabályt az összes szabályhoz (kizárás nélkül)
Alapértelmezett beállításérték 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();
}

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none

A teljes szabálykategória letiltásához állítsa be a kategória súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Lásd még