Sourcing from CLR events
An event is the occurrence of something we can handle somehow with our code. More precisely, in .NET, an event is a kind of Delegate
object, an object that represents one or multiple actions to run. The Delegate
object is the .NET implementation of the Observer
pattern with the addition of other features, such as asynchronous execution.
By convention, any event in .NET uses the Delegate
implementation specific to System.EventHandler
or any other childhood according to the inheritance tenet
. This implementation accepts handlers (subscribers) that must accept two parameters, such as the following example:
static void EventHandler1(object o, EventArgs e) { Console.WriteLine("Handling for object {0}", o); }
In place of using the generic EventArgs
type as an event parameter as specified by the EventHandler
delegate, when using the related generic version EventHandler<T>
, we can use any other type as an argument parameter.
By using reactive...