Head First C# 中文版 图文皆译 第十一章 事件和代理 page500

本文探讨了事件机制中发送者与接收者的解耦原则,即两者如何仅关注事件本身而非彼此。文章通过具体示例解释了事件如何与处理方法建立联系,并保持了高度的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把事件发送者和事件接受者联系起来

事件最微妙的一件事就是事件的发送者必须知道要发送哪类事件--包括要传递的参数。事件的接受者必须知道它的事件处理器的返回值和参数。

但是--还有一个微妙的地方--你不可以把发送者和接受者联系起来。你会希望发送者发送事件而并不用关心谁会收到。而接受者只需关心事件,而不关心发送它的对象。所以发送者和接受者都只注意事件,而不关心对方。

 

我的人会和你的人联系”

你知道下面的代码会做什么:

Ball  currentBall

它创建了一个可以指向任何球类对象的引用变量。它并不绑定到一个对象,它可以指向任何球对象--也可以为空,不指向任何对象。

一个事件需要一个类似的引用--不是指向一个对象,而是指向一个方法。每个事件都需要和很多注册了它的方法保持联系。你已经看见了,那些方法可以处于别的类,甚至是私有方法。那么,事件是怎么和它需要调用事件处理方法保持联系的呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值