最近在看深入理解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();
}
}
C#中委托的基本概念介绍
本文地址: http://www.paobuke.com/develop/c-develop/pbk23131.html