title: How compiler deals with method hiding in c#?
body: <p>I know that in c# a reference variable of parent class pointing to a child class object invoke the overridden method of child class object and hidden method of the base class object. In the runtime, the base class reference variable will figure out the actual type of the object, so it calls the overridden version. If the reference variable can check for the actual object, then why in case of hidden method it invokes the base class method?</p>