namespace OOP_Examples { public class BaseClass { public BaseClass() { } public void fun() { MessageBox.Show("In Fun of BaseClass"); } } } namespace OOP_Examples { public class DerivedClass : BaseClass { public DerivedClass() { } //This overriding function requries the word new or override. //Override can only be used if the base class function was //declared virtual, abstract, or override. public new void fun() { MessageBox.Show("In Fun of Derived Class"); } } } private void testFunction() { BaseClass b = new DerivedClass(); b.fun(); // in this case the baseclass fun is called }