浅析C#中的委托:
首先通过一个例子来阐述delegate的用法。
 1浅析C#中的委托using System; 
 2浅析C#中的委托class MyDelegate 
 3
下面声明一个delegate实例,然后调用。
 1浅析C#中的委托using System; 
 2浅析C#中的委托delegate void EatDelegate(string food);//此处签名应该与chEat方法签名保持一致 
 3浅析C#中的委托class MyDelegate 
 4

输出结果是:
葱花吃西瓜
样样吃西瓜
大蒜吃西瓜
但是:声明三次方法过于麻烦,用"委托链"解决。代码如下:
 1浅析C#中的委托using System; 
 2浅析C#中的委托delegate void EatDelegate(string food); 
 3浅析C#中的委托class MyDelegate 
 4
为了让程序富有逻辑性,同时为了说明C#2.0的匿名方法,请看如下代码:
 1浅析C#中的委托using System; 
 2浅析C#中的委托delegate void EatDelegate(string food); 
 3浅析C#中的委托class MyDelegate 
 4
请注意:上面chEat(),yyEat(),dsEat()过于繁琐,可以用C# 2.0匿名方法解决:
 1浅析C#中的委托using System; 
 2浅析C#中的委托delegate void EatDelegate(string food); 
 3浅析C#中的委托class MyDelegate 
 4
输出结果:
葱花吃西瓜
样样吃西瓜
大蒜吃西瓜
由此可以得出委托的特点:
(1)委托是类型安全的。
(2)委托允许将方法作为参数传递。
(3)委托可以定位回调方法。
(4)委托可以定义委托链。

相关文章: