此“Sub New”的第一条语句必须是对“MyBase.New”或“MyClass.New”的显式调用,原因是“<derivedclassname>”的基类“<baseclassname>”中“<constructorname>”被标为已过时。

类构造函数不显式调用基类构造函数,并且隐式基类构造函数标有 ObsoleteAttribute 特性和将其视为错误的指令。

当派生的类构造函数不调用基类构造函数时,Visual Basic 会尝试生成对无参数基类构造函数的隐式调用。 如果基类中没有无需参数即可调用的构造函数,则 Visual Basic 无法生成隐式调用。 在这种情况下,所需的构造函数标记有 ObsoleteAttribute 特性,因此 Visual Basic 不能调用它。

可以通过将 ObsoleteAttribute 应用于任意编程元素,将其标记为不再使用。 如果执行此操作,则可以将特性的 IsError 属性设置为 TrueFalse。 如果设置为 True,则编译器将尝试使用该元素的操作视为错误。 如果设置为 False,或将其默认为 False,则编译器会在有操作尝试使用该元素时发出警告。

错误 ID: BC30919

更正此错误

  • 将对 MyBase.New()MyClass.New() 的调用包括为派生类中 Sub New 的第一个语句。