C#中有没有可能跳过基类,而调用基类的基类?
比如有这样的继承关系:
class Base1 { public virtual func() ... }
class Base2 : Base1 { public override func() ... }
class Base3 : Base2 {
public override func()
{
// 我想在这里调用Base1::func,能否行得通?
// 试过base.base.func(),编译通不过。
}
}
也许别人觉得这样的类层次就有问题。但是在VC中的确是遇到过这样的情况,派生这样的类:
class CMyView : public CView
{
void SomeFunc()
{
// 这里越过CView::SomeFunc而直接调用CWnd::SomeFunc,因为CView::SomeFunc的实现
// 不符合要求
CWnd::SomeFunc();
}
}
在VC中可以直接指定继承层次上的任意一个基类。在C#里面呢,没有办法吗?