Assembly: mscorlib (in mscorlib.dll)
The Delegate class is the base class for delegate types. Note, however, that only the system and compilers can derive types explicitly from the Delegate class or from the MulticastDelegate class. Also, you cannot derive a new type from a delegate type. The Delegate class is not considered a delegate type; rather, it is a class that you use to derive delegate types.
Most programming languages provide a delegate keyword, and compilers for those languages are able to derive types from the Delegate and MulticastDelegate classes. Therefore, you should use the delegate keyword provided by each language.