目录
什么是委托
- class Program
- {
- static void Main(string[] args)
- {
- Calculator calculator = new Calculator();
- Action action = new Action(calculator.Report);
- //创建委托 这个委托函数无返回值无参数
- calculator.Report(); //直接调用函数
- action.Invoke(); //间接调用函数
- action(); //也可以这么写
-
- Func<int,int,int> func = new Func<int,int,int>(calculator.Sub);
- //含返回值,参数委托
- }
- }
-
- class Calculator
- {
- public void Report()
- {
- Console.WriteLine("Hello world");
- }
-
- public int Sub(int a, int b)
- {
- return a + b;
- }
自定义委托
- public delegate int Calc(int a, int b);
- // 委托关键词 返回值类型 名字 参数
- //写在这里是与Program平级的类,写在Program里是Program的嵌套类
- //调用嵌套类需要Program.Calc 这样子调用
-
- class Program
- {
- static void Main(string[] args)
- {
- Calculator calculator = new Calculator();
- Calc calc = new Calc(calculator.Sub);
- //使用自定义委托类创建一个委托
-
- int a = 100;
- int b = 200;
- int c;
- c = calc.Invoke(a, b);
- c = calc(a, b);
- }
- }
委托的一般使用
模板方法
多播委托
委托的高级使用
害不开...........
什么是语法糖?
指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时的等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。