Delegates (C# Programming Guide) A delegate is a type that
defines a method signature. When you instantiate a delegate, you
can associate its instance with any method with a compatible
signature. You can invoke (or call) the method through the
delegate instance. Delegates are used to pass methods as
arguments to other methods. Event handlers are nothing more than
methods that are invoked through delegates. You create a custom
method, and a class such as a windows control can call your
method when a certain event occurs. The following example shows
a delegate declaration: Any method from any accessible class or
struct that matches the delegate's signature, which consists of
the return type and parameters, can be assigned to the delegate.
The method can be either static or an instance method. This
makes it possible to programmatically change method calls, and
also plug new code into existing classes. As long as you know
the signature of the delegate, you can assign your own method.
In the context of method over