Shadows (Visual Basic)

指定讓已宣告的程式設計元素重新宣告,並隱藏基底類別中名稱相同的元素或一組多載元素。

備註

遮蔽 (也稱為「依名稱隱藏」) 的主要目的是保留類別成員的定義。 基底類別可能會經歷變更,此變更建立的名稱會與您已定義的元素相同。 如果發生這種情況,Shadows 修飾詞會透過類別強制將參考解析為您定義的成員,而非新的基底類別元素。

遮蔽和覆寫都會重新定義繼承的項目,但這兩種方法之間有顯著的差異。 如需詳細資訊,請參閱 Visual Basic 中的遮蔽功能

規則

  • 宣告內容。 您只能在類別層級使用 Shadows。 也就是說,Shadows 元素的宣告內容必須是類別,且不可為來源檔案、命名空間、介面、模組、結構或程序。

    在單一宣告陳述式中,您只能宣告一個遮蔽元素。

  • 合併的修飾元。 您不能在相同的宣告中同時指定 ShadowsOverloadsOverridesStatic

  • 元素類型。 您可以使用任何其他類型遮蔽任何一種已宣告的項目。 如果您以其他屬性或程序來遮蔽屬性或程序,參數和傳回型別就不需要比對基底類別屬性或程序中的參數和型別。

  • 存取。 基底類別中的遮蔽元素通常無法從遮蔽它的衍生類別中取得。 不過,這種情況適用於下列條件。

    • 如果遮蔽元素無法從參考它的程式碼存取,參考就會解析為遮蔽元素。 舉例來說,如果 Private 元素會遮蔽基底類別元素,則沒有 Private 元素存取權限的程式碼會改為存取基底類別元素。

    • 如果您遮蔽某個元素,仍可以透過以基底類別型別宣告的物件來存取遮蔽元素。 您也可以透過 MyBase 存取。

Shadows 修飾詞可用於以下內容:

另請參閱