Raising an event invokes the event handler through a delegate. The OnRun method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class. Notes to Inheritors: When overriding OnRun in a derived class, be sure to call the base class's OnRun method so that registered delegates receive the event.