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

来源:互联网 发布:苹果电脑换windows系统 编辑:程序博客网 时间:2024/05/15 02:50

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

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

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

 

我的人会和你的人联系”

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

Ball  currentBall

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

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

原创粉丝点击