您的位置:首页 > 其它

涉及事件开发应用委托

2014-12-06 14:56 239 查看
昨天Insus.NET有写了一篇《ASP.NET的简单与面向对象开发/article/4668820.html。以当时的想法,只能如此的水准,有网友说应该是使用状态设计模式,但Insus.NET想到这个案例没有使用到状态的设计模式。

反而想到开关有两个事件,就是开与关。下面Insus.NET决定重构这个Switch类,改用委托来实现。

一个普通的电源开关,是让我们开做什么,关做什么,它虽有内置功能实现,正常来说也应该有外置功能。

前一篇中,是靠关开的属性来获取输出参数,使用事件委托之后,是靠两个事件开与关来获取参数。

因此创建一个RunEventArgs类,它继承了EventArgs基类。




Ok,现在我们去重构Switch类:





用红线删除无用代码,分别添加标记1至3部分代码。标记1就是宣街告一个委托delegate和两个事件Event。标记2和标记3分别在两个事件传出参数。

接下来重构Default2.aspx.cs,需要在这里实现Switch类中两个事件:




在实现两个事件,获取开关输出的参数:





本重构中,我们学习到使用委托,e传递参数。责任分清,是属性是事件。

下面是asp.net事件与委托相关:
用户控件(UserControl) 使用事件/article/4669141.html
事件接口/article/4669153.html
网页(aspx)与用户控件(ascx)交互与逻辑处理/article/4669391.html
观察者模式与用户控件之间的互动/article/4669152.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐