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

更新:2007 年 11 月

衍生類別 (Derived Class) 中的屬性或程序會使用與基底類別 (Base Class) 之隱含成員相同的名稱,並指定 Overloads 關鍵字。

多載用於在同一個類別中定義屬性或程序的多個版本。除非基底類別成員已指定 Overloads,否則您無法定義基底類別成員的其他版本。因為隱含成員不會指定 Overloads,所以編譯器會假設這個屬性或程序會 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︰BC40023

若要修正這個錯誤

  • 請變更屬性或程序的名稱,避免與上表所列出的名稱發生衝突。

請參閱

概念

宣告項目名稱