public virtual void VirtualMethod()
Console.WriteLine("VirtualMethod Base");
public void NonVirtualMethod()
Console.WriteLine("NonVirtualMethod Base");
public class ChildClass:BaseClass
public override void VirtualMethod()
Console.WriteLine("VirtualMethod ChildClass");
public new void NonVirtualMethod()
Console.WriteLine("NonVirtualMethod ChildClass");
public static void Main()
BaseClass father = new BaseClass();
BaseClass child = new ChildClass();
ChildClass child2 = new ChildClass();
Console.WriteLine("father");
father.NonVirtualMethod();
Console.WriteLine("Child 1");
child.NonVirtualMethod();
Console.WriteLine("Child 2");
child2.NonVirtualMethod();