.NET中的Event与Delegates,从Publisher到Subscriber的衔接! - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- .NET中的Event与Delegates,从Publisher到Subscriber的衔接! (http://www.webasp.net/article/29/28052.htm) | ||||||||||
| -- 作者:未知 -- 发布日期: 2006-12-22 | ||||||||||
| 今天复习了一下C#中的Delegates与Event Handler,整理一下思路如下: 1. 使用Delegates进行事件处理,一般遵循下面的模式: 我们将事件的发起者(Event Source)称为Publisher,将事件的处理者(Event Handler)称为Subscriber. ![]() 2. 具体的做法,用一个简单的例子来看如何进行事件的封装处理!
2.1 纵观一下整个事件的处理过程...
2.2 剖析整个组成...先从delegate开始,为了能够封装事件,我们需要先定义一个delegate: delegate void GetOutEventHandler(Object source, GetOutEventArgs e);2.3 假定你的事件处理的时候,还需要传递一些参数,所以我们还需定义一个EventArgs, 就算出门的时候带什么东西吧~~~ ^ ^!
2.4 对应出去,我们就局限下面的响应动作了:
2.5 事件是如何产生的
2.6 当有了上面的Publisher与Subscriber后,要把它们串起来,需要遵循下面的过程: Step 1:建立Publisher Instance,即Event Source Step 2:建立Subscriber Instance,即Event Handler Step 3:建立一个Delegate,来承接Subscriber的具体动作 Step 4:把建立的Delegate与Event进行绑定,我们称之为register Step 5:外部调用,产生Event,所有的Event Handler收到通知,开始执行 具体可以参考2.1中的主函数的步骤! 2.7 运行的结果如下:
| ||||||||||
| webasp.net |