Учитывая три родителя/дочерние классов, как это:Переопределение метода в многоуровневом Наследование
class A {
public virtual void doSomething() {
//do things
}
}
class B : A {
public override /*virtual?*/ void doSomething() {
//do things
base.doSomething();
}
}
class C : B {
public override void doSomething() {
//do things
base.doSomething();
}
}
Если класс B
«s doSomething()
метода оба override
и virtual
в своей подписи, поскольку она также переопределяются C
класс, или только класс A
имеет virtual
в своем методе doSomething()
?
Вы пробовали этот код? Visual Studio жалуется, что «метод переопределения не может быть помечен как виртуальный». –
Это странно. Он не жалуется на меня. –
Жалуется ли, если вы раскомментируете '/ * virtual * /' в 'B'? –