移除不必要的隱藏 (IDE0079)
屬性 | 值 |
---|---|
規則識別碼 | IDE0079 |
職稱 | 移除非必要的歸併 |
類別 | CodeQuality |
子類別 | 不必要的程式代碼規則 (隱藏喜好設定) |
適用語言 | C# 和 Visual Basic |
選項 | dotnet_remove_unnecessary_suppression_exclusions |
概觀
此規則會標幟來源中不必要的 pragma 和 SuppressMessageAttribute 屬性隱藏。
來源隱藏會隱藏特定位置的編譯程式和分析器規則違規,但不在特定原始程式碼的其他部分。 您通常會使用它們來隱藏不想要修正的誤判或較不重要的違規。 不過,隱藏通常變得過時。 如果修正規則以防止誤判,或重構程序代碼,並在這樣做時轉譯隱藏備援,就會發生這種情況。 此規則有助於識別可移除的備援隱藏。
注意
即使您 在建置時啟用程式代碼樣式規則,也不會啟用此規則。 它只會出現在 Visual Studio 編輯器中。
範例
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;
}
選項。
選項會指定您希望規則強制執行的行為。 如需設定選項的相關信息,請參閱 選項格式。
dotnet_remove_unnecessary_suppression_exclusions
屬性 | 數值 | Description |
---|---|---|
選項名稱 | dotnet_remove_unnecessary_suppression_exclusions | |
選項值 | , 分隔的規則識別碼或類別清單(前面加上 category: ) |
排除所列規則的歸併 |
all |
停用規則(排除的所有規則識別碼) | |
none |
開啟所有規則的規則(無排除專案) | |
默認選項值 | 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();
}
隱藏警告
如果您想要只隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable IDE0079
// The code that's violating the rule is on this line.
#pragma warning restore IDE0079
若要停用檔案、資料夾或項目的規則,請在組態檔中將其嚴重性設定為 。none
[*.{cs,vb}]
dotnet_diagnostic.IDE0079.severity = none
若要停用此整個規則類別,請將組態檔中類別的嚴重性設定為 none
。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
如需詳細資訊,請參閱 如何隱藏程式代碼分析警告。