閱讀英文

共用方式為


成員 '<membername1>' 隱含宣告 '<implicitmembername>',其與基底類別 '<baseclassname>' 中的成員相衝突

成員 '<membername1>' 隱含宣告 '<implicitmembername>',其與基底類別 '<baseclassname>' 中的成員相衝突,因此成員不應該宣告為 'Overloads'

衍生類別中的屬性會使用與基底類別之成員相同的名稱來產生隱含成員,並指定 Overloads 關鍵字。

多載可用於在同一個類別中定義屬性或程序的多個版本。 除非基底類別成員已指定 Overloads,否則您無法定義基底類別成員的其他版本。 因為衝突的基底類別成員未指定 Overloads,所以編譯器會假設這個屬性為 Shadows 隱含基底類別成員。

Visual Basic 編譯器會建立與所宣告特定程式設計元素對應的隱含成員。 下表摘要說明這些隱含或 「綜合」(synthetic) 成員。

宣告項目 隱含建立的成員
列舉型別 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_的項目名稱。

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

錯誤 ID︰ BC40022

更正這個錯誤

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

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

另請參閱