成员“<membername1>”与为基类型“<basetypename>”中成员“<membername2>”隐式声明的成员冲突,因此不应声明为“Overloads”

更新:2007 年 11 月

派生类中的属性或过程使用与基类的隐式成员相同的名称,并指定了 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

更正此错误

  • 更改属性或过程的名称,以避免与上表中列出的名称发生冲突。

请参见

概念

已声明元素的名称