如何调用顶级祖先方法

时间:2014-07-27 08:27:21

标签: c# inheritance override

我有一个类,它继承自一个继承自类的类(以及原始代码中的一些类):)。

如何从覆盖到最顶级父母之一致电? 这是一个代码示例:

class Program
{
    static void Main(string[] args)
    {
        Animal a = new Animal();
        a.DoSomething();
        Predator p = new Predator();
        p.DoSomething();
        Cat c = new Cat();
        c.DoSomething();
    }
}

class Animal
{
    public virtual void DoSomething()
    {
        Console.WriteLine("Animal");
    }
}

class Predator : Animal
{
    public override void DoSomething()
    {
        Console.WriteLine("Predator");
    }
}

class Cat : Predator
{
    public override void DoSomething()
    {
        base.DoSomething();
        //Console.WriteLine("Cat");
    }
}

我希望当我调用c.DoSomething()方法时,我会得到“Animal”。

感谢所有

0 个答案:

没有答案