来个简单的例子

时间:2022-05-04 07:07:23

比来在看深入理解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();

}

}