Observer 设计模式 了解委托与事件的使用
来源:互联网 发布:死而后已不亦远乎意思 编辑:程序博客网 时间:2024/06/05 09:26
namespace Delegate{ public class Heater { private int temperature; public delegate void BoilHandler(int param); public event BoilHandler BoilEvent; public void BoilWater() { for (int i = 0; i <= 100; i++) { temperature = i; if (temperature > 95) { if (BoilEvent != null) { BoilEvent(temperature); // 调用所有注册对象的方法 } } } } } public class Alarm { public void MakeAlert(int param) { Console.WriteLine("Alarm:嘀嘀嘀,水已经 {0} 度了:", param); } } public class Display { public static void ShowMsg(int param) // 静态方法 { Console.WriteLine("Display:水快烧开了,当前温度:{0}度。", param); } } class Program { static void Main() { Heater heater = new Heater(); Alarm alarm = new Alarm(); heater.BoilEvent += alarm.MakeAlert; // 注册方法 heater.BoilEvent += (new Alarm()).MakeAlert; // 给匿名对象注册方法 heater.BoilEvent += Display.ShowMsg; // 注册静态方法 heater.BoilWater(); // 烧水,会自动调用注册过对象的方法 } }}
输出为:
// ************************************************************************
Alarm:嘀嘀嘀,水已经 96 度了:
Alarm:嘀嘀嘀,水已经 96 度了:
Display:水快烧开了,当前温度:96 度。
// 省略...
// ************************************************************************
阅读全文
0 0
- Observer 设计模式 了解委托与事件的使用
- 委托、事件与 Observer 设计模式
- 委托、事件与Observer设计模式
- 委托、事件与Observer设计模式
- 委托、事件与Observer设计模式
- 委托、事件与Observer设计模式
- C#中的委托和事件与Observer设计模式简介
- 委托、事件与Observer设计模式——学习笔记
- 实现范例的Observer设计模式 事件 委托
- c#委托和事件的简单使用,简单介绍observer设计模式
- 【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
- 【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
- Observer设计模式——委托事件
- c#委托和事件,Observer设计模式
- C#中的委托和事件--5.委托、事件与Observer设计模式
- 结合事件与委托学习Observer模式
- 热水器的委托应用与Observer设计模式
- 初识c#---委托,事件和观察者模式(Observer)设计模式
- 无法改变规则,那就改变自己
- android 相对布局属性
- Chrome 控制台console的用法
- thymeleaf中th:attr用法
- strcpy和memcpy的区别
- Observer 设计模式 了解委托与事件的使用
- poj2808校门外的树
- solidity读书笔记
- 【语音识别】Microsoft Speech Platform 自学笔记2 环境要求与安装过程
- PHP字符串处理函数表
- 吴恩达深度学习笔记之卷积神经网络(卷积网络)
- 学习笔记-Redis
- 线程与线程池
- SpringBoot学习-Jersey自定义拦截路径的问题