C#委托现实示例分析
2015-04-22 12:16
501 查看
本文实例讲述了C#委托现实的用法。分享给大家供大家参考。具体分析如下:
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(); //烧水,会自动调用注册过对象的方法 } } }
输出为:
Alarm:嘀嘀嘀,水已经 96 度了: Alarm:嘀嘀嘀,水已经 96 度了: Display:水快烧开了,当前温度:96度。
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- .net2005(C#)下实现事件和委托的简单示例
- ActiveMQ在C#中的应用示例分析
- C#综合揭秘——深入分析委托与事件
- C#综合揭秘——深入分析委托与事件(下)
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- 现实世界的函数编程:有F#和C#示例
- 对C# 中的委托和事件的分析
- C#中的委托事件的分析
- 现实世界的函数编程:有F#和C#示例
- C#综合揭秘——深入分析委托与事件
- C# 委托(delegate)事件(event)分析
- 20160711--C# 委托的三种调用示例(同步调用 异步调用 异步回调)【转载】
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- C#事件、委托简单示例
- C#综合揭秘——深入分析委托与事件
- C#中委托用法实例分析
- C#综合揭秘——深入分析委托与事件(中)
- C# 委托的三种调用示例(同步调用 异步调用 异步回调) 之 FUNC 版
- 基于多活动结果集(Multiple Active Result Sets,简称MARS)的C#示例分析
- 通过IL分析C#中的委托、事件、Func、Action、Predicate之间的区别与联系