|
变不离其宗:中文释义:把事情托付给别人或别的机构(办理) 回调函数:即你 别人或机构(办理)数据回传给你
干什么事情我们需要了解为何这样做
列如 :面向过程和面向对象 为何要重写 ,重载,这么做的目的是什么? 一切为了提高效率,代码复用
为何要用委托: 即观察者和订阅者关系 允许我们将方法作为参数进行传递
委托的三部曲:
1.定义 pubulic delegate void XxxEventHandler(); pubulic string Xxx and 众所周知 {} 代表方法体 而定义委托仅为一个声明或者命令 用来存储某种Xx
2.使用 XxxEventHandler xx = new XxxEventHandler (被委托的方法); 哎哎哎 看到这是不是好熟悉 new关键字 new关键字不就三种用途嘛 那么委托是不是可以看作特殊的类
那么我们定义 就尽量和类平级 定义在外部
这就完了 ? 没有
事件:
还是老规矩 : 事件是什么 干嘛的?
点击事件 列子:网站 我们点击注册 触发 发给后台 后台人员一看 嗯 小伙子挺精致 通过 -----------你收到了通过的信息
老规矩:
pubulic delegate void XxxEventHandler(); 声明委托
public event XxxEventHandler Xxx; 声明事件
俩个不同的类或者窗体什么的 比如:公司和员工
委托了某人今天要辞退员工 声明了XX事件 在Xx事件下有个方法触发体 一旦达到某种条件就触
是不是有类似 1. 公司发布人事 2. 人事通知你 3.你确定收到
想一想是不是类似通信啊 俩个窗体之间 对不对 一切迎刃而解 那我们就用到了委托 在我们使用事件的时候,必须要声明对应的委托,而触发事件,其实就是在使用委托链。
但,微软给我们了三个内置委托 绝大部分我们用这三个足以满足需求了
Action<T> Fun<T> Predicate<int> 如何使用 看返回值 使用
1.Action<T> :无返
2. Fun<T> :有返
3.Predicate<int> :Predicate有且只有一个参数,返回值固定为bool
Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型
Func可以接受0个至16个传入参数,必须具有返回值
Action可以接受0个至16个传入参数,无返回值
Predicate只能接受一个传入参数,返回值为bool类型
看完写一下 就很好理解了 [e=0]using System;
新建文本文档 (3).txt
(1.18 KB, 下载次数: 6)
|
|