163-委托的定义和声明

委托(delegate)是一种存储函数引用的类型。
委托的定义指定了一个返回类型和一个参数列表
定义了委托之后,就可以声明该委托类型的变量,接着就可以把一个返回类型跟参数列表跟委托一样的函数赋值给这个变量。

委托的使用分两步
定义
声明(变量)
结构体,枚举的使用同上都分为定义和声明
整数类型数组类型字符串类型都是直接声明变量的,因为类型的定义已经完成了(CLR中已经完成定义)

 

委托的使用 

delegate double MyDelegate(double param1,double param2);
static double Multiply(double param1,double param2){
return param1*param2;
}
static double Divide(double param1,double param2){
return param1/param2;
}
double param1 = 34; double param2 =2;
MyDelegate de;
de = Multiply;
de(param1,param2);
de = Divide;
de(param1,param2);

  

定义委托和函数差不多,区别在于:

1、定义委托需要加上delegate关键字

2、定义委托不需要函数体

委托可用于观察者等设计模式。

posted @ 2018-11-17 10:59  阿晖2222  阅读(208)  评论(0编辑  收藏  举报