以下是MSDN中对委托的定义:
运行库支持称为委托的引用类型,其作用类似于 C++ 中函数指针的用途。与函数指针不同,委托实例独立于它所封装的方法的类;最主要的是那些方法与委托的类型是兼容的。另外,函数指针只能引用静态函数,而委托可以引用静态和实例方法 。委托主要用于 .NET Framework 中的事件处理程序和回调函数 。
所有委托都是从 System.Delegate 继承而来的,并且有一个调用列表,这是在调用委托时所执行的方法的一个链接列表。产生的委托可以用匹配的签名引用任何方法。没有为具有返回类型并在调用列表中包含多个方法的委托定义返回值。
可以使用委托的 Combine 和 Remove 方法在其调用列表中添加和移除方法。若要调用委托,可使用 Invoke 方法,或者使用 BeginInvoke 和 EndInvoke 方法异步调用委托。委托类的实现是由运行库提供的,而不是由用户代码提供的。