c# - 如何覆盖非虚方法?

标签 c# inheritance overriding virtual

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

如何解决这个问题?

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

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 的 child ”中)。覆盖方法是隐式虚拟的。

关于c# - 如何覆盖非虚方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13981266/

相关文章:

php - 重写的方法被调用两次

php - Zend 框架 fetchAll

php - 覆盖joomla类别 ListView

c# - 单击按钮后在文本字段中显示输出

c# - EF6 如何在禁用自动迁移时保留自定义 sql 生成器

javascript - 如何让继承在 JavaScript 中起作用?

从接口(interface)继承但在 UML 图中实现附加方法的类

c# - ConfigurationManager.ConnectionStrings.Add

c# - 是否有比较简单的文件版本比较方法?

c++ - 为什么派生类的重载函数隐藏了基类函数?