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

更新:2007 年 11 月

类构造函数未明确调用基类构造函数,而隐式基类构造函数标记有 ObsoleteAttribute 属性,指令会将其视为错误。

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

可以将任何编程元素标记为不再使用,方法是对该元素应用 ObsoleteAttribute。如果使用,可以将该属性 (Attribute) 的 IsError 属性 (Property) 设置为 True 或 False。如果将其设置为 True,则编译器会将使用该元素的尝试视为错误。如果将其设置为 False 或默认为 False,则在尝试使用该元素时编译器会发出警告。

**错误 ID:**BC30919

更正此错误

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

请参见

概念

Visual Basic 中使用的属性

属性的应用