【发布时间】:2011-08-02 14:19:17
【问题描述】:
class GrandParent
{
public virtual void Foo() { ... }
}
class Parent : GrandParent
{
public override void Foo()
{
base.Foo();
//Do additional work
}
}
class Child : Parent
{
public override void Foo()
{
//How to skip Parent.Foo and just get to the GrandParent.Foo base?
//Do additional work
}
}
如上面的代码所示,我怎样才能让 Child.Foo() 调用 GrandParent.Foo() 而不是进入 Parent.Foo()? base.Foo() 先带我去 Parent 课。
【问题讨论】:
-
我很确定 .net 运行时支持这一点。相关阅读blogs.msdn.com/b/ericlippert/archive/2010/03/29/…
-
也许如果你说明为什么你想这样做,我们可以帮助你重新设计你的架构?
-
@CodeInChaos:即使支持也会导致ChaosInCode。
标签: c# inheritance polymorphism overriding virtual-functions