好的-我遇到了一个问题,我很难解决。
我有两种形式-一种是从另一种继承。我们将它们称为FormParent和FormChild。
MyFunction()在FormParent中定义。我不需要重写它,因为它将对许多不同的形式执行相同的基本操作,但是它调用DoSomethingUnique()。 DoSomethingUnique在父级中定义,在子级中覆盖。
我的问题是,因为我没有覆盖MyFunction(),所以当我从FormChild调用它时,它所调用的DoSomethingUnique()版本是FormParent而不是FormChild的函数。
有什么方法可以避免重写这两个函数,但是将DoSomethingUnique()的版本称为FormChild的版本吗?
最佳答案
您想要做的当然可以。您只需要确保已安装正确的修饰符即可。
在FormParent中。
virtual public void DoSomethingUnique()
在FormChild中
override public void DoSomethingUnique()
如果未使用
override
显式修改方法,则将在FormParent中调用该方法。显然用您的返回类型替换void。