This is another link, a pointer to an object on the heap. It has a Drifted type.
Even if your reference is of type Base , the base object is Drifted , and any overridden members of the derived class Drifted will be used instead of those that are on Base , even if you try to use Base .
When hiding a member using the new syntax, if you have a reference to a base type, it bypasses any derived classes that hide members.
An overview can be found on the Internet using Googling for "C # Reference Types." I looked through this, it looks like useful:
http://www.albahari.com/valuevsreftypes.aspx
source share