I'm a newbie to C#. I tried C++ and but found it too convoluted.
Here's my question. If I use inheritance, and later realize that a subclass needs a method or field that is not applicable to the other parts, should I declare that in the base class and not have it implemented in the child classes, or should I declare that method or property in the subclass?
If I choose to declare the method in the subclass, then I can no longer treat everything polymorphically. On the other hand, if I choose to put it in the base class then I end up with a lot of classes not implementing the property or method. I have seen examples in the .net framework where the 'not implemented' approach is chosen. What is the best way to go?