任务准备
一、委托与事件
委托和事件在 .NET Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多 C# 初学者来说并不容易。下面将通过范例由浅入深地讲述什么是委托以及事件的由来。
1. 委托
从数据结构来讲,委托是与类一样的,它们都是一种用户自定义类型。委托是方法的抽象,它存储的就是一系列具有相同签名和返回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。所有的委托都派生自 System.Delegate 类。
委托也叫代理,就是把事情交付给别人去办,如代购。C#中如果将一个方法委托给一个对象,这个对象就可以全权代理这个方法的执行。使用委托时首先要定义委托,声明委托能代理什么类型的方法。
(1)声明委托
委托是类型,就好像类也是类型一样。与类一样,委托类型必须在被用来创建变量以及类型对象之前声明。
委托的声明原型如下:
例如:
该语句定义了一个委托 MyDelegate ,它可以注册返回 void 类型且