From http://msdn.microsoft.com/en-us/library/system.delegate.aspx:
The
Delegateclass is the base class
for delegate types. However, only the
system and compilers can derive
explicitly from theDelegateclass or
from theMulticastDelegateclass. It
is also not permissible to derive a
new type from a delegate type. The
Delegateclass is not considered a
delegate type; it is a class used to
derive delegate types.Most languages implement a
delegate
keyword, and compilers for those
languages are able to derive from the
MulticastDelegateclass; therefore,
users should use thedelegatekeyword
provided by the language.