手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#委托现实示例分析
C#委托现实示例分析
摘要:本文实例讲述了C#委托现实的用法。分享给大家供大家参考。具体分析如下:usingSystem;usingSystem.Collections...

本文实例讲述了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#程序设计有所帮助。

【C#委托现实示例分析】相关文章:

用C#写的ADSL拨号程序的代码示例

C#枚举数值与名称的转换实例分享

c# 引用类型构造器

C# 图片剪切与缩小的实例

c#典型工厂化实现实例

C#生成注册码的实例代码

c#解压文件的实例方法

C# 对XML操作入门实例

C#数组应用分析第1/2页

C# L型棋牌覆盖实现代码与效果

精品推荐
分类导航