Possible Duplicate:
C# - new keyword in method signature
Let's say I have 3 classes: GrandDad, Dad, Son. Son inherits from Dad, which inherits from GrandDad.
Each class implements foo.
// GrandDad class:
public virtual void foo()
// Dad class:
new public virtual void foo()
// Son class:
public override void foo()
I don't understand the reason as to why Dad would use the new keyword. As I understand, using new hides a method. Why would you want to do this?
I read the MSDN explanation of new, but the discussion was only mechanical, rather than architectural.
Thanks