Version Support of C#
C# was designed to make versioning far easier
by retaining binary compatibility with existing derived classes. When you
introduce a new member in a base class as one that exists in a derived class,
it doesn't cause an error. However, the designer of the class must indicate
whether the method is meant as an override or as a new method that just hides
the similar inherited method.