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

更新:2007 年 11 月

类构造函数未明确调用基类构造函数,并且隐式的基类构造函数已标记有 ObsoleteAttribute 属性,指令会将其视为警告。

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

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

默认情况下,该消息是条警告,原因是 ObsoleteAttributeIsError 属性为 False。有关隐藏警告或将警告视为错误的信息,请参见 在 Visual Basic 中配置警告

**错误 ID:**BC41004

更正此错误

  1. 检查带引号的错误信息并采取适当的操作。

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

请参见

概念

Visual Basic 中使用的属性

属性的应用