【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
来源:互联网 发布:mac里面的照片怎么导出 编辑:程序博客网 时间:2024/06/15 14:56
using System; using System.Collections.Generic; using System.Text; 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(); //烧水,会自动调用注册过对象的方法 } }
0 0
- 【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
- 【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
- Observer 设计模式 了解委托与事件的使用
- 初识c#---委托,事件和观察者模式(Observer)设计模式
- 实现范例的Observer设计模式 事件 委托
- 委托的应用之二:使用多播委托编码Observer模式。以及事件的引入
- c#委托和事件的简单使用,简单介绍observer设计模式
- 委托、事件与 Observer 设计模式
- Observer设计模式——委托事件
- 委托、事件与Observer设计模式
- c#委托和事件,Observer设计模式
- 委托、事件与Observer设计模式
- 委托、事件与Observer设计模式
- 委托、事件与Observer设计模式
- C#,由委托到Observer设计模式,再到事件机制
- C#,由委托到Observer设计模式,再到事件机制
- C#中的委托和事件与Observer设计模式简介
- 委托和事件 及Observer设计模式简介
- 快速排序算法 c#版(递归实现)
- 分治思想解决常见问题归纳
- 2.1-3
- 自定义数据类型,关键字typedef
- Android入门-网页展示
- 【C#】Observer设计模式委托事件的使用(获取Subject多个属性)
- 在Eclipse中使用Maven插件 博客分类: Java相关技术
- 动态规划——LIS问题
- 快速格式整理脚本
- 数字签名是什么
- 编程之美
- C++继承二
- 开发自己的JQuery框架
- break跳出多重循环