开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10821|回复: 0
收起左侧

[C#图文教程] C#基础基础再基础之---委托

[复制链接]
结帖率:89% (16/18)
发表于 2021-10-27 09:56:47 | 显示全部楼层 |阅读模式   河南省郑州市
变不离其宗:中文释义:把事情托付给别人或别的机构(办理)      回调函数:即你 别人或机构(办理)数据回传给你
干什么事情我们需要了解为何这样做

列如 :面向过程和面向对象         为何要重写 ,重载,这么做的目的是什么?   一切为了提高效率,代码复用

为何要用委托:   即观察者和订阅者关系             允许我们将方法作为参数进行传递

委托的三部曲:
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)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表