Example 1 (as in hidden base member)
DerivedClass B = new DerivedClass();
B.DoWork(); // Calls the new method.
BaseClass A = (BaseClass)B;
A.DoWork(); // Calls the old method. <=====
Example 2. (as in overriding virtual member)
DerivedClass B = new DerivedClass();
B.DoWork(); // Calls the new method.
BaseClass A = (BaseClass)B;
A.DoWork(); // Also calls the new method. <======
The two examples above are the same but the last comments is contradicting. Is this a mistake or something is missing.