委托
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。
如果要传递方法,就必须把方法的细节封装在一个新的对象类型中,即委托。
委托在使用时遵循三步走的原则,即定义声明委托、实例化委托以及调用委托。
声明委托
告诉编译器这种类型的委托表示哪种方法,声明委托的语法如下:
delegate void IntMethodInvoker(int x);
在这个示例中,声明一个委托IntMethodInvoker,并指定该委托的每个实例都可以包含一个方法的引用,该方法带有一个int参数。
假定定义一个委托TwoLongsOp,该方法表示的方法有两个long型参数,返回类型为double,可以编写如下代码:
delegate double TwoLongsOp(long first, long second);
定义一个委托,它表示的方法不带参数,返回一个string性的值,可以编写如下代码“
delegate string GetString();
使用委托
下面的代码说明如何使用委托: