博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
涉及事件开发应用委托
阅读量:6161 次
发布时间:2019-06-21

本文共 482 字,大约阅读时间需要 1 分钟。

昨天Insus.NET有写了一篇《》。以当时的想法,只能如此的水准,有网友说应该是使用状态设计模式,但Insus.NET想到这个案例没有使用到状态的设计模式。

反而想到开关有两个事件,就是开与关。下面Insus.NET决定重构这个Switch类,改用委托来实现。
一个普通的电源开关,是让我们开做什么,关做什么,它虽有内置功能实现,正常来说也应该有外置功能。
前一篇中,是靠关开的属性来获取输出参数,使用事件委托之后,是靠两个事件开与关来获取参数。

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

 

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

 

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

 

接下来重构Default2.aspx.cs,需要在这里实现Switch类中两个事件:
在实现两个事件,获取开关输出的参数:

 

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

 

下面是asp.net事件与委托相关:
《》
《》
《》
《》

 

转载地址:http://eqefa.baihongyu.com/

你可能感兴趣的文章
6.13心得
查看>>
Runtime类
查看>>
eclipse decompiler
查看>>
记一个搜索网盘资源的网站
查看>>
jdk1.7和jdk1.8的String的getByte方法的差异
查看>>
java父子进程通信
查看>>
Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
查看>>
Olap学习笔记
查看>>
Codeforces Round #431 (Div. 1)
查看>>
如何进行数组去重
查看>>
将标题空格替换为 '_' , 并自动复制到剪切板上
查看>>
List Collections sort
查看>>
Mysql -- You can't specify target table 'address' for update in FROM clause
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>