The syntax for a delegate in C# closely follows the syntax for a method. The delegate statement is followed by the delegates return type (or void , if there is none) and the delegate name . This in turn is followed by the delegates parameter list, in which each parameter takes the form:
< parameter_type > < parameter_name >
For example:
public delegate void StateChangeEventHandler(object sender, StateChangeEventArgs e);
In a VB Delegate statement, the Delegate keyword is followed by the Sub keyword (if the delegate returns a void in C#) or the Function keyword (if the delegate returns some other value). For example, in VB, the StateChangeEventHandler delegate has the following syntax:
Public Delegate Sub StateChangeEventHandler( _ ByVal sender As Object, ByVal e As StateChangeEventArgs)