將
| 財產 | 價值 |
|---|---|
| 規則標識碼 | IDE0082 |
| 標題 | 將 typeof 轉換為 nameof |
| 類別 | 風格 |
| 子類別 | 語言規則 (表達式層級喜好設定) |
| 適用的語言 | C# 和 Visual Basic |
概述
建議此樣式規則優先使用 nameof 運算子,而不是在 typeof 運算符 後面接著 Name 成員存取。 僅當名稱在兩種情況下都相同時才會觸發。
選項
此規則沒有相關聯的程式代碼樣式選項。
例
// 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
如需詳細資訊,請參閱 如何在隱藏程式代碼分析警告。