关于C#:如何重写非虚拟方法?

How override non virtual method?

我有带虚方法的基类。我有子类,它重写了这个方法。然后我有了一个孩子的孩子,但是我怎样才能重写相同的方法呢?如果我试图将"virtual"添加到第二个类,我会收到消息:"override method cannot be marked as virtual"。如果我试图将"override"添加到第三个类,我会收到消息:"这不是合适的override方法"。

如何解决这个问题?

我可以从第一个类继承第三个类,但实际上我想从第二个类继承一些方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public virtual T Save (T entity)
        {
            //removed code

            return entity;
        }

public override T Save(T entity)
        {
            //removed code

            return entity;
        }

 public T Save(T entity)
        {
            return entity;
        }

enter image description here


只需重写它(在"child of child"中)。重写方法是隐式虚拟的。


所有overridden methods都是隐式虚拟的。全部覆盖!!!!!