委托和事件

delegate 委托

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

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

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

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

代码例子

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

方法1

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

方法2

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

方法3 匿名函数

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

方法4 Lambda

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

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

方法5

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

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

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

event 事件

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

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

EventHandler也是委托,定义如下:

下面来举例模拟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值