其实这部分内容对于 .NET程序员而言应该是老生常谈了,但鉴于团队内常有成员对委托和事件感到混乱,因而记录下来以供分享。
委托是C#第一个版本就引入的特性,特点如下
1. 类似于C++中的函数指针;
2. 允许方法像变量一样赋值;
3. 用以作回调操作;
4. 委托以链表的方式记录委托实例;
5. 委托实例中使用的类型并不需要与委托声明中的类型完全吻合;
6. 在C#2.0中引入了匿名委托,C#3.0引入了Lambda表达式作为委托实例。
通常我们据说的委托包括了委托声明和委托实例两种概念,委托声明是声明了一个委托样式,而委托实例则是与委托声明类型相符的变量,该变量记录了一系列与委托声明形式类似的方法,如
class Program
{
public delegate void HandlerMethod();
public static void MammalsHandler()
{
}
public static