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"; }
}
A ac = new C();
Console.WriteLine(ac.Print());