public abstract class Base
{
public virtual void Foo()
Console.WriteLine("In Base");
}
public class A : Base
public void Foo()
Console.WriteLine("In A");
public class B : Base
public override void Foo()
Console.WriteLine("In B");
Base a = new A();
Base b = new B();
a.Foo();
b.Foo();