委托

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.实现任意方法的异步调用。

 

 

posted on 2022-06-23 10:41  unity学渣  阅读(137)  评论(0)    收藏  举报