共用方式為


請將成員標記為靜態

更新:2007 年 11 月

型別名稱

MarkMembersAsStatic

CheckId

CA1822

分類

Microsoft.Performance

中斷變更

非中斷 - 如果不論您做了何種變更,都不能在組件外部看見成員。非中斷 - 如果您只使用 this 關鍵字將成員變更為執行個體 (Instance) 成員

中斷 - 如果您將成員從執行個體成員變更為靜態成員,而且可以在組件外部看見成員

原因

不會存取執行個體資料的成員並不會標記為 static (在 Visual Basic 中為 Shared)。

規則描述

不會存取執行個體資料或不會呼叫執行個體方法的成員,可以標記為 static (在 VB 中為 Shared)。將方法標記為 static 之後,編譯器將對這些成員發出非虛擬呼叫位置。發出非虛擬呼叫位置將避免在執行階段為確保目前物件指標為非 null,而針對每個呼叫進行檢查。這麼做可以讓重視效能的程式碼獲得可觀的效能。某些情況下,無法存取目前物件執行個體就表示正確性發生問題。

如何修正違規

將成員標記為 static (在 Visual Basic 中為 Shared),或者在方法主體中使用 'this'/'Me' (如果適用)。

隱藏警告的時機

先前提供之程式碼的修正若是中斷變更,則您可以放心地隱藏這項規則的警告。

相關規則

避免使用未呼叫的私用程式碼

避免使用未執行個體化的內部類別

移除未使用的區域變數