Call base method at beginning or end of method?

It depends on whether you want you derived behaviour to happen before or after the base behaviour.

And don't forget you can call the base method in the middle or not at all.

Having said that, in general it will be called as the first thing. Because then your overriding method has the option to 'overwrite' settings done by the base-class.

But in methods like Close or Dispose it is more customary (sometimes mandatory) to call it in the end.


It entirely depends on what you want to do. There's not really a "general" rule about what should happen. For example, you might want to do some extra validation, then call the base method, then do something else. Or maybe you just want to time how long the base method takes to call.

Treat each case as an individual situation.