From http://msdn.microsoft.com/en-us/library/system.delegate.aspx:
The
Delegate
class is the base class
for delegate types. However, only the
system and compilers can derive
explicitly from theDelegate
class or
from theMulticastDelegate
class. It
is also not permissible to derive a
new type from a delegate type. The
Delegate
class 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
MulticastDelegate
class; therefore,
users should use thedelegate
keyword
provided by the language.