CA1500:變數名稱不應該與欄位名稱相符
項目 | 值 |
---|---|
RuleId | CA1500 |
類別 | Microsoft.Maintainability |
重大變更 | 在名稱與欄位相同的參數上引發時: - 非中斷 - 如果宣告參數的欄位和方法都無法在組件外部看到 (不論您所做的變更為何)。 - 中斷 - 如果您變更欄位的名稱,而且可以在組件外部看到。 - 中斷 - 如果您變更參數的名稱,以及宣告參數的方法可以在組件外部看到。 在與欄位具有相同名稱的區域變數上引發時: - 不中斷 - 如果欄位無法在組件外部看到 (不論您所做的變更為何)。 - 非中斷性 - 如果您變更區域變數的名稱,而且不會變更欄位的名稱。 - 中斷 - 如果您變更欄位的名稱,而且可以在組件外部看到。 |
原因
執行個體方法宣告參數或區域變數,而其名稱符合宣告類型的執行個體欄位。 若要擷取違反規則的區域變數,必須使用偵錯資訊來建置測試的組件,且相關聯的程式資料庫 (.pdb) 檔案必須可供使用。
檔案描述
當執行個體欄位的名稱符合參數或區域變數名稱時,執行個體欄位會在方法主體內使用 this
(在 Visual Basic 中為 Me
) 關鍵字來存取。 維護程式碼時,很容易忘記此差異,並假設參數/區域變數參考執行個體欄位,這會導致錯誤。 這尤其適用於冗長的方法主體。
如何修正違規
若要修正此規則的違規,請重新具名引數/變數或欄位。
隱藏警告的時機
請勿隱藏此規則的警告。
範例
下列範例顯示規則的兩個違規。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應