当前位置: 首页 > news >正文

委托和事件

delegate 委托

委托是一种将方法作为方法的参数进行回调的机制,类似于C++中的函数指针

委托的定义是一系列调用方法的规范

形式:public delegate 返回类型 委托名();

委托的定义与方法的定义类似,但委托是一种类型

代码例子

委托的定义是对被委托调用的一种规范定义,如返回值,参数等,可以看做是一个抽象方法

方法1

委托名 委托对象=new 委托名(被调用的方法)

方法2

委托名 委托对象=被调用的方法

方法3 匿名函数

委托名 委托对象=delegate(参数){具体实现};

方法4 Lambda

委托名 委托对象=((参数)=>{具体实现});

Lambda表达式是匿名函数的特殊情况

方法5

Func<参数类型,返回值类型> 委托对象=((参数)=>{具体实现});

Action<参数类型> 委托对象= ((参数)=>{具体实现});

从Func和Action的定义来看,Func是有返回值的,Action是没有返回值的

event 事件

案例分析:猫叫了一声,老鼠跑了,主人醒了

事件用event关键字,但在使用方面与委托一样,其中+=是订阅,是多播委托

EventHandler也是委托,定义如下:

下面来举例模拟

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Qt 之自定义控件(开关按钮)
  • Django Web开发基础介绍
  • Milvus - 架构设计详解
  • java 解析excel (本地资源)
  • LeetCode 2535.数组元素和与数字和的绝对差:模拟
  • Halcon基础系列1-基础算子
  • 【C++算法】2.双指针_复写零
  • 深入理解 CompletableFuture 的底层原理
  • 计算机视觉硬件整理(四):相机与镜头参数介绍
  • 【Kubernetes】常见面试题汇总(三十四)
  • python的逻辑控制
  • 高刷显示器哪个好?540Hz才有资格称高刷
  • 重修设计模式-行为型-责任链模式
  • 【玩转贪心算法专题】738. 单调递增的数字【中等】
  • 硬件设计很简单?合宙低功耗4G模组Air780E—开机启动及外围电路设计
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • iOS 颜色设置看我就够了
  • java2019面试题北京
  • PHP的类修饰符与访问修饰符
  • python docx文档转html页面
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 翻译--Thinking in React
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 深度学习中的信息论知识详解
  • 手写双向链表LinkedList的几个常用功能
  • 算法之不定期更新(一)(2018-04-12)
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #Linux(帮助手册)
  • $.ajax()
  • $.ajax中的eval及dataType
  • (20050108)又读《平凡的世界》
  • (翻译)terry crowley: 写给程序员
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (论文阅读30/100)Convolutional Pose Machines
  • (转)Mysql的优化设置
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)视频码率,帧率和分辨率的联系与区别
  • ./configure、make、make install 命令
  • .NET CLR Hosting 简介
  • .Net Core 微服务之Consul(二)-集群搭建
  • .net framework 4.8 开发windows系统服务
  • .Net6 Api Swagger配置
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET导入Excel数据
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET是什么
  • .net下的富文本编辑器FCKeditor的配置方法
  • ?php echo ?,?php echo Hello world!;?
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下