首页 相关文章 .Net边学边讲(三)

.Net边学边讲(三)

谈到event,就不能不先说一下callback和delegate
如果你使用过C的话,你应该知道有一个函数叫qsort,是用来给数组排序的。但这个函数显然不能承担广泛意义上的比较,因此你需要传递一个指针,他指向具有比较功能的函数。qsort在每次要比较数组元素时都要调用这个函数。这就是callback的概念,在.Net里也可以实现回调,方法是创建一个接口,实现他,传递一个实现此接口的对象的引用。delegate呢,你可以将他理解成一个安全的函数指针。
Notifications跟callback有点类似,但比简单的回调要复杂的多。callback意味着要调用的callback方法被调用的同时要调用的建立callback的方法。这是一个很紧密的耦合。而Notification则要松散一些,你可以注册将来某段时间会或者不会发生的Notification,只当他们发生时处理,否则不用。
你也许想让你写的组件当一些事情发生时通知其他组件,例如,你想写一个按钮组件,当你Click的时候你可能想通知其他组件,而其他组件将不得不准备向你请求Notification,你就要提供一个方法告诉他们你已经有一个可用的Notification。另一方面,你可能也是当其它组件的一些事...[ 查看全文 ]

2016-01-29 标签:

.Net边学边讲(三)的相关文章

手机页面
收藏网站 回到头部