此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,原因是“<derivedclassname>”的基类“<baseclassname>”中“<constructorname>”被标为已过时。
类构造函数不显式调用基类构造函数,并且隐式基类构造函数标有 ObsoleteAttribute 特性和将其视为错误的指令。
当派生的类构造函数不调用基类构造函数时,Visual Basic 会尝试生成对无参数基类构造函数的隐式调用。 如果基类中没有无需参数即可调用的构造函数,则 Visual Basic 无法生成隐式调用。 在这种情况下,所需的构造函数标记有 ObsoleteAttribute 特性,因此 Visual Basic 不能调用它。
可以通过将 ObsoleteAttribute 应用于任意编程元素,将其标记为不再使用。 如果执行此操作,则可以将特性的 IsError 属性设置为 True
或 False
。 如果设置为 True
,则编译器将尝试使用该元素的操作视为错误。 如果设置为 False
,或将其默认为 False
,则编译器会在有操作尝试使用该元素时发出警告。
错误 ID: BC30919
- 将对
MyBase.New()
或MyClass.New()
的调用包括为派生类中Sub New
的第一个语句。