如何理解 .Net 中的 委托
// 委托 // 一种方法的声明和定义,也就是方法的占位符 // 一般使用在 参数 和 属性中 int Add(int a,int b) { return a + b; } // 定义委托的三种方法 三个内定的委托 // action Func Predicate // 1. action 定义声明 var action = new Action<int,int>((a,b) => { var c = a + b; Console.WriteLine(c); }); // 使用 action(1,5); // Func 声明委托 action 是没有返回值的委托 Func 是有返回值的委托 var func = new Func<int,int,int>((a,b) => a + b); // 最后一个是返回值的类型 var c = func(1,10); // Predicate 是基于Func的处理 是一个返回 布尔值 的 Func // Func<int,int,bool> = Predicate<int,int>(); 类似 && Predicate 之只能有一个输入参数&返回Bool var predicate = new Predicate<int>(x => x % 2 == 0); // class Calc { // public delegate int Add(int a,int b); // }
委托就是函数当作变量传递的一种方式