Consider the case when you use the te VS code generator, but later forget (or decide not to) fill out the body of the method.
In case you redefine the virtual method, if you do not want to change the behavior in any way, it makes sense to keep the old one - what the base call does.
On the other hand, although if you are override a abstract , you do not have a base for reference - abstract methods do not have a body by definition. Therefore, if you were unable to provide a new implementation when overriding, it is always a mistake. The exception NotImplemented attracts your attention.
There are several templates in which you must call a method (for example, IDisposable or some cases of a template method). In other cases, it is always advisable to provide a new implementation, so it depends on the scenario.
source share