反而想到开关有两个事件,就是开与关。下面Insus.NET决定重构这个Switch类,改用委托来实现。
一个普通的电源开关,是让我们开做什么,关做什么,它虽有内置功能实现,正常来说也应该有外置功能。
前一篇中,是靠关开的属性来获取输出参数,使用事件委托之后,是靠两个事件开与关来获取参数。
因此创建一个RunEventArgs类,它继承了EventArgs基类。
Ok,现在我们去重构Switch类:
用红线删除无用代码,分别添加标记1至3部分代码。标记1就是宣街告一个委托delegate和两个事件Event。标记2和标记3分别在两个事件传出参数。
接下来重构Default2.aspx.cs,需要在这里实现Switch类中两个事件:
在实现两个事件,获取开关输出的参数:
本重构中,我们学习到使用委托,e传递参数。责任分清,是属性是事件。