1

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

如何解决这个问题?

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

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;
        }

在此处输入图像描述

4

2 回答 2

6

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

于 2012-12-20T22:04:00.283 回答
1

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

于 2012-12-20T22:06:04.253 回答