將 typeof
轉換成 nameof
(IDE0082)
屬性 | 值 |
---|---|
規則識別碼 | IDE0082 |
標題 | 將 typeof 轉換為 nameof |
類別 | 樣式 |
子類別 | 語言規則 (運算式層級喜好設定) |
適用語言 | C# 和 Visual Basic |
概觀
此樣式規則建議將後接 Name 成員存取的 typeof 運算子,改為 nameof 運算子。 僅當名稱在這兩種情況下相同時,才會引發此規則。
選項
此規則沒有相關聯的程式碼樣式選項。
範例
// Code with violations
var n1 = typeof(T).Name;
var n2 = typeof(int).Name;
// Fixed code
var n1 = nameof(T);
var n2 = nameof(Int32);
' Code with violations
Dim n1 = GetType(T).Name
Dim n2 = GetType(Integer).Name
' Fixed code
Dim n1 = NameOf(T)
Dim n2 = NameOf(Int32)
隱藏警告
若您只想隱藏單一違規,請將前置處理指示詞新增至來源檔案以停用規則,然後重新啟用規則。
#pragma warning disable IDE0082
// The code that's violating the rule is on this line.
#pragma warning restore IDE0082
若要停用檔案、資料夾或專案的規則,請在組態檔中將其嚴重性設定為 none
。
[*.{cs,vb}]
dotnet_diagnostic.IDE0082.severity = none
若要停用所有程式碼樣式規則,請在組態檔中將類別 Style
的嚴重性設定為 none
。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
如需詳細資訊,請參閱如何隱藏程式碼分析警告。