http://www.ondotnet.com/pub/a/dotnet/2002/11/04/delegates.htm

C# introduced a keyword called delegate for utilizing such things as function pointers and call backs. The syntax of a delegate can be confusing, but one sure way to get latched on to the syntactical nuances of delegates is to understand a delegate's dual nature -- it exhibits the qualities of both a class and a function. Nov. 4, 2002