.Net学习之基于委托、事件的观察者模式
2016-03-09 15:50
387 查看
/// <summary> /// 猫类 /// </summary> public class Cat { //委托声明 public delegate void Miaowhandler(Object sender, MiaowEventArgs e); //事件声明 public event Miaowhandler MiaowEvent; private string MiaowStr = string.Empty; //自定义参数信息 public class MiaowEventArgs : EventArgs { public readonly string MiaowStr; public MiaowEventArgs(string miaowStr) { this.MiaowStr = miaowStr; } } //猫叫 public void Miaow() { this.MiaowStr = "瞄瞄瞄瞄瞄瞄~~~~"; Console.WriteLine(this.MiaowStr); } public void OnMiaow(MiaowEventArgs e) { if (MiaowEvent != null) MiaowEvent(this, e); } public void MakeMiaow() { this.MiaowStr = "猫睡着了"; Console.WriteLine(MiaowStr); Thread.Sleep(2000); this.MiaowStr = "猫醒了"; Console.WriteLine("猫醒了"); Thread.Sleep(500); Miaow(); Thread.Sleep(1000); MiaowEventArgs e =new MiaowEventArgs(this.MiaowStr); OnMiaow(e); } }
相关文章推荐
- Linq常用语法详细
- C 指针精要
- iOS 利用UISCrollView作广告自动轮播效果
- 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口。
- react tutorial comment遇到的问题解决
- logback 常用配置详解(二)
- Scroll滑动Activity
- 八大排序算法总结
- Singleton模式
- js 中 setInterval 的返回值问题
- linux第9天 UDP
- 数据结构与算法面试题80道(一)
- .NET程序员提高效率的70多个开发工具
- git命令使用记录
- 理解TCP/IP三次握手与四次挥手的正确姿势
- DialogFragment详解
- Python装饰器
- ViewPager源码不完全解读
- servlet客户端http请求及响应及httpservletrequest,httpservletresponse详解
- 修改上一例,改为多线程执行