The syntax for a delegate in C# closely follows the syntax for a method. The delegate statement is followed by the delegate's return type (or void , if there is none) and the delegate name . This in turn is followed by the delegate's 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) |