//////委托
委托和类一样,是一种用户自定义的类型。但类表示的是数据和方法的集合,而委托则持有一个或多个方法,以及一系列预定义操作
//"delegate"关键字
//关于加减乘除的委托,返回类型都是double,并且参数都有两个参数都是为double
//语法:delegate 方法的返回类型 委托名字 (方法的参数)
//类外
delegate double DelOperator(double num1,double num2);
static double Add(double a,double b)
{
return a+b;
}
static double Div(double c,double d)
{
return c-d;
}
//使用委托需要实例化委托对象
static void Main(string[] args)
{
//在实例化委托的时候会把方法名作为一个参数传进来
//两数相加
DelOperator delOp=new DelOperator(Add);
//调用委托的时候,实际上是调用委托所指向的这个方法
double result=delOp.Invoke(3,5);
//另一种方法调用
double result=delOp(3,5);
Console.WriteLine("委托调用的方法执行结果:"+result)
//两数相减
delOp+=new DelOperator(Div); //新的委托方法
Console.WriteLine("委托调用的方法执行结果:"+result)
//移除方法
delOp-=new DelOperator(Div);
}