成員 '<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