namespace ToVirtualOrNotToVirtual
public static void Main(string[] args)
Base baseClass = new Base();
Child childClass = new Child();
childClass.DoSomethingNormal();
childClass.DoSomethingVirtual();
public virtual void Virtual()
Console.WriteLine("Base/Virtual");
Console.WriteLine("Base/Normal");
public void DoSomethingNormal()
public void DoSomethingVirtual()
public class Child : Base
public override void Virtual()
Console.WriteLine("Child/Virtual");
Console.WriteLine("Child/Normal");