我有一个基类,想为所有继承的类提供一些“基础”方法的功能。
在我的继承类中,我想要做:
public override void Setup()
{
base.Setup();
}
但是目前它说我必须使用新的关键字。
如何让我必须使用 override
关键字?
我使用 new
关键字和使用 override
有什么区别吗?
我有一个基类,想为所有继承的类提供一些“基础”方法的功能。
在我的继承类中,我想要做:
public override void Setup()
{
base.Setup();
}
但是目前它说我必须使用新的关键字。
如何让我必须使用 override
关键字?
我使用 new
关键字和使用 override
有什么区别吗?
这是因为您没有声明基本方法为virtual
。一旦您这样做了,基本的virtual
/派生的override
关键字对将变得有意义。现在,编译器正在抱怨您无法override
非virtual
方法。
虚方法(virtual methods)
可以被覆盖重写。 - Matt Ball