委托
what?
什么是委托
委托是方法的代理,委托的是方法,当调委托时就是调用了这个方法。
委托时一类行为的抽象。是方法的引用,是一种数据类型。
1.delegate:委托,代理。
2.委托的定义:委托是一种数据类型;委托代表的是方法,当调用委托时就是调用了方法。
委托代表【表示,代理,委托】的是方法,【代表和委托一致的任何方法】【委托是一类行为的抽象】
当调用委托时就调用了这个方法。【委托能储存方法的地址【引用】】【间接调用】
签名的含义不同:
1. 签名 =返回类型和参数组成【委托】
2. 签名= 方法名和参数组成【隐藏】
3. 签名= 方法名和参数组成和返回类型【重写】
how?

怎么使用委托
步骤一:定义委托
delegate 返回值 方法签名
delegate void Hander();
步骤2:创建实例【类a和类b的方法调用依然使用】【比如 ?.fun】
Hander hander = new Hander(Fun);
步骤3:调用委托
hander();
Public static void Fun()
{
}


委托的分类 调用方式
单播委托:一个委托对象只关联一个方法。
多播委托:一个委托对象关联了多个方法。
适合无返回值方法。
又返回值的方法都会执行,但是返回值只能拿到最后一个方法。
lambda表达式写法:(=> 叫做goto)
1.(参数)=> {语句;语句}
2. 变量名a => 一行代码; (简化写法)
委托的用途
1.将方法作为参数传递,可以将一个方法的执行代码注入到另一个方法中。
2.实现回调,实现的方式比接口灵活。
3.事件实践的基础。
4.实现任意方法的异步调用。

浙公网安备 33010602011771号