日期:2014-05-18  浏览次数:20888 次

DOTNETc# 委托 delegates

首先来理解下委托的定义

委托是一种引用方法的类型。也就是分配在一旦为委托分配栈中,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示:

 

C#

public delegate int PerformCalculation(int x, int y);

与委托的签名(由返回类型和参数组成)匹配的任何方法都可以分配给该委托。这样就可以通过编程方式来更改方法调用,还可以向现有类中插入新代码。只要知道委托的签名,便可以分配自己的委托方法。

将方法作为参数进行引用的能力使委托成为定义回调方法的理想选择。

先看下面的实例

 如果以后有别的方法新增了 也要加入到用户选择的时候,这个时候还的在枚举新增一个了。 这样有点麻烦。
如下EXP实例 用委托来解决问题