如何覆盖非虚方法?

时间:2012-12-20 22:02:57

标签: c# inheritance override virtual

我有基类和虚方法。我有子类,它已覆盖此方法。然后我有孩子的孩子,但我怎么能覆盖相同的方法?如果我尝试将“虚拟”添加到第二个类,我会收到消息:“覆盖方法不能标记为虚拟”。如果我尝试将'override'添加到第三类,我会收到消息:'这不是适合覆盖的方法'。

如何解决此问题?

我可以从头开始继承第三类,但实际上我想从第二类中获得一些方法。

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

2 个答案:

答案 0 :(得分:6)

只需覆盖它(在“孩子的孩子”中)。覆盖方法是隐式虚拟的。

答案 1 :(得分:1)

所有overridden methods都是隐式虚拟的。覆盖他们所有!!!!