屬性 '<propertyname>' 隱含宣告 '<implicitmembername>',但它與基底類別 '<baseclassname>' 中為成員 '<membername>' 隱含宣告的成員衝突

更新:2007 年 11 月

錯誤訊息

成員 '<membername1>' 隱含宣告 '<implicitmembername>',它與基底類別 '<baseclassname>' 中為成員 '<membername2>' 所隱含宣告的成員產生衝突。所以成員不應該宣告為 'Overloads'。

衍生類別的屬性產生之隱含成員名稱和基底類別的隱含成員名稱相同,而且會指定 Overloads 關鍵字。

多載用於在同一個類別中定義屬性或程序的多個版本。除非基底類別成員已指定 Overloads,否則您無法定義基底類別成員的其他版本。由於隱含成員不會指定 Overloads,因此編譯器 (Compiler) 假設這個屬性會 Shadows 隱含基底類別成員。

Visual Basic 編譯器建立隱含成員,與您宣告的某些程式設計項目相對應。下表摘要說明這些隱含的或虛構的成員。

宣告項目

隱含建立的成員

列舉型別

value__ 成員

事件

add_<eventname> 程序

remove_<eventname> 程序

<eventname>Event 欄位

<eventname>EventHandler 委派

屬性

get_<propertyname> 程序

set_<propertyname> 程序

My.Form 成員、My.WebService 成員,或以 MyGroupCollectionAttribute 屬性標記之類別的成員

m_<variablename>Static 變數

<variablename> 屬性

get_<variablename> 程序

set_<variablename> 程序

WithEvents 變數

_<variablename> 變數

<variablename> 屬性

get_<variablename> 程序

set_<variablename> 程序

由於有名稱衝突的風險,因此在對任何已宣告的程式設計項目命名時,應避免使用這些隱含成員所用的格式。例如,您應該避免使用以 get_ 或 set_ 做為開

根據預設,這是一個警告訊息。如需隱藏警告或將警告視為錯誤的詳細資訊,請參閱 在 Visual Basic 中設定警告

錯誤 ID︰BC40024

若要修正這個錯誤

  • 如果您想要隱藏或遮蔽隱含基底類別成員,請在屬性宣告中,以 Shadows 關鍵字取代 Overloads 關鍵字。

  • 如果您不想要遮蔽隱含基底類別成員,請變更屬性名稱,避免與上表所列的名稱衝突。

請參閱

概念

宣告項目名稱