目录
什么是委托
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);
}
}
委托的一般使用
模板方法
多播委托
委托的高级使用![](https://i-blog.csdnimg.cn/blog_migrate/2b6a6f2b811e20f5d347c1eb791fb654.png)
害不开...........
什么是语法糖?
指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时的等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。