“MustOverride”不能在“<procedurename>”上指定,因为它所在的分部类型在另一个分部定义中被声明为“NotInheritable”

更新:2007 年 11 月

过程或属性被声明为某个类(在多个分部声明中定义)中的 MustOverride,但其中一个分部定义为该类指定了 NotInheritable。

当您在几个分部声明间划分类的定义时,编译器会将该类视为它的所有分部声明的联合。这一点不仅适用于成员,而且适用于实施、继承和访问级别。

要重写某个过程或属性,类必须从基类中继承该过程或属性。因此,要为基类中的过程或属性指定 MustOverride,您必须为类指定 MustInherit。由于 MustInherit 和 NotInheritable 是相互对立的,因此无法为同一个类同时指定它们。

**错误 ID:**BC30927

更正此错误

  • 如果必须重写属性或过程,请从它所在的分部声明中移除 NotInheritable 关键字。

  • 如果类必须为 NotInheritable,请从过程或属性中移除 MustOverride 关键字。无法重写它的原因是您无法继承类。

请参见

概念

继承的基础知识

参考

分部 (Visual Basic)

MustOverride

MustInherit

NotInheritable