Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Ingatlan | Érték |
|---|---|
| szabályazonosító | IDE0079 |
| cím | Szükségtelen elnyomás eltávolítása |
| kategória | CodeQuality |
| alkategóriás | Szükségtelen kódszabályok (letiltási beállítások) |
| Alkalmazható nyelvek | C# és Visual Basic |
| Beállítások | dotnet_remove_unnecessary_suppression_exclusions |
Áttekintés
Ez a szabály szükségtelen pragma é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.
Jegyzet
Még ha is engedélyezi a kódstílus-szabályokat a buildelési, ez a szabály nincs engedélyezve. Csak az IDE-ben válik láthatóvá.
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. További információ a beállítások konfigurálásáról: Beállításformátum.
Jegyzet
A súlyosság option_name = value:severity formázása nem vonatkozik a dotnet_remove_unnecessary_suppression_exclusions beállításra, ezért el kell kerülni. Ehelyett adja meg a súlyosságot egy külön bejegyzés használatával, például:
dotnet_remove_unnecessary_suppression_exclusions = none
dotnet_diagnostic.IDE0079.severity = warning
dotnet_remove_unnecessary_suppression_exclusions (távolítsa el a szükségtelen elnyomások kizárásait)
| Ingatlan | Érték | Leírás |
|---|---|---|
| beállításnév | dotnet_remove_unnecessary_suppression_exclusions (távolítsa el a szükségtelen elnyomások kizárásait) | |
| beállításértékek | Szabályazonosítók vagy -kategóriák vesszővel tagolt listája (előtag: category:) |
Kizárja a felsorolt szabályok vagy kategóriák 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 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.