委托、事件、观察者模式

 分享1::http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html

 分享2::http://www.cnblogs.com/edgar-sun/archive/2007/04/08/704335.html

两篇都看完,应该会明白了。

为什么用事件,看完下面这篇就会更明白了:

http://kb.cnblogs.com/page/45756/

有了委托为什么要使用事件?

1.事件只能通过“+=”来注册新的订阅者,而不能通过“=”来注册(即不能覆盖之前的所有订阅者,委托可以),这样一定程度上保证了安全性。

2.使用事件时,无论定义事件时使用的是什么访问修饰符,编译后都会成为private,这样保证了触发事件的语句只能在定义事件的类内部执行,客户端不能自行触发事件,必须通过调用事件发布者已经定义好的方法来触发。

例如:public event 委托名 AfterCalled;编译后public 也将变成private。所以客户端不能通过AfterCalled(参数)来触发事件。

3.“委托”是一种类型,而“事件”是一个对象。

以上是我的个人总结,如有不对的地方希望看过这篇文章的人能不吝指出,谢谢!

原文地址:https://www.cnblogs.com/zxhoo/p/1944674.html