比来在看深入理解C#,发明这是一本很不错的书,将很多C#的常识点联系了起来,更像是一本C#历史书,从C# 1一步步介绍到C# 4。
所以筹备一边看,一边整理念书条记。那么就先从委托开始。
委托是C#中一个非常重要的观点,从C# 1开始就有了委托这个核心观点,在C# 2和C# 3中委托又有了很多改造。
通过委托,我们可以将一个要领看成东西封装起来,并且在运行时,我们可以通过这个东西来完成要领的挪用。
委托的使用
首先,来个简单的例子,苹果只卖力设计iphone,而把组装iphone的事情委托给富士康做。
代码如下:
class Apple
{
//声明委托类型
public delegate void AssembleIphoneHandler();
public AssembleIphoneHandler AssembleIphone;
public void DesignIphone()
{
Console.WriteLine(“Design Iphone By Apple”);
}
}
class Foxconn
{
//与委托类型签名不异的要领
public void AssembleIphone()
{
Console.WriteLine(“Assemble Iphone By Foxconn”);
}
}
class Program
{
static void Main(string[] args)
{
Apple apple = new Apple();
Foxconn foxconn = new Foxconn();
//创建委托实例
apple.AssembleIphone = new Apple.AssembleIphoneHandler(foxconn.AssembleIphone);
apple.DesignIphone();
//委托实例的挪用
apple.AssembleIphone();
//通过Invoke进行显示挪用
//apple.AssembleIphone.Invoke();
Console.Read();
}
}