Всем привет. Объясните пожалуйста, почему при вызове метода Print переменной ac типа А с ссылкой на C производится вызов метода из класса B, а не А?
namespace ClassInterfaceDelegate
{
class Program
{
static void Main(string[] args)
{
A ac = new C();
Console.WriteLine(ac.Print());
}
}
public abstract class A
{
public virtual string Print() { return "A"; }
}
public class B : A
{
public override string Print() { return "B"; }
}
public class C : B
{
public new string Print() { return "C"; }
}
}