委托的基本概念
1、定义->标准
2、实现方法->不关心具体过程
3、关心结果,满足定义的标准
Ds()叫做隐式调用
Ds().Invoke()叫做显示调用
委托的概念
把一系列的方法当作参数传递
定义的语法
public delegate void ShowDelegate();
关键字 返回值类型 委托名称 参数列表
这是定义一个 无返回值的 无参数的委托
委托有有返回值,无参数的委托,有返回值,有参数的委托
无返回值的也是同理
委托的赋值方法
第一种 ShowDelegate ds = new ShowDelegate(Show);
委托类型 名称 生成一个委托 方法名称(切记不要带小括号)
第二种Show2Delegate ds_2 = Show2; 直接赋值方法
委托类型 名称 方法名称,不要带括号
第三种 Show2Delegate sd_3 = (msg) =>
{
Console.WriteLine(msg);
};
匿名方法
第四种 委托变量声明之后使用+=、-=
Show2Delegate sd_4 = null;
sd_4 += Show2;
多播委托
PrintLogDelegate printLog = null;
printLog += Print1;
printLog += Print2;
printLog += Print3;
任何委托都可以作为多播委托