//////委托 委托和类一样,是一种用户自定义的类型。但类表示的是数据和方法的集合,而委托则持有一个或多个方法,以及一系列预定义操作 //"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); }