In a derived class, I usually override an existing method.
Why? An event handler is less reliable than an override method. For example, external classes can clear event handlers, but they cannot change code in an override. You must seal your own class, although your method may be overridden.
Another point to consider: do I want to change the way I manage? Should I have control over the exact execution time of the code (say, before the base class code, after or instead)? If so, you should use override.
source share