C#委托与事件(1)

什么是委托?

1、委托的本质就是一个密封类,这个类继承了MulticastDelegate(多播委托)

2、委托的构造函数,有两个参数,一个类型是IntPtr,用来接收方法的

3、可以同步调用(Invoke),也可以异步调用 (BeginInvoke、EndInvoke)

注:

1、多播委托:一个委托可以代表多个相同签名的方法,当委托被调用时,这些方法会依次执行

2、IntPtr表示窗口的时候,叫它“句柄”,表示方法时,叫它“指针”

3、异步调用:会产生一个线程,异步执行

委托有什么用?

在js中,并没有提委托的概念,却有“回调”,比如ajax回调。把一个函数传递到另外一个函数里执行,是非常自然的事情。但是在c#中,不能直接把方法名传递进去。所以创造了委托这么个类型。c#中的委托也是为了回调。委托有什么好处?举个例子:皇帝颁发圣旨,得派一个大臣去。大臣到了目的地,宣读圣旨后,这才得以执行。这说明以下两点:

1、委托有很好的封装性

2、委托的实例化与它的执行是在不同的对象中完成的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值