When using some framework/api, sometimes it\'s pretty unclear if you must call base.Method if you override it, for example you can be pretty sure that you should call base.M
Nowadays I don't think that consumers of a class that override a method should ever need to call base.Method(). The code should be written in such way that it cannot be broken.
public class MyBase
{
private void FooInternal()
{
DoRequiredStuff();
Foo();
}
public virtual void Foo() {}
}