手机
当前位置:查字典教程网 >编程开发 >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#生成注册码的实例代码

ScriptControl控件执行自定义VBS脚本示例分析

C#用Lambda和委托实现模板方法

C#基础 延迟加载介绍与实例

c# 控件截图的简单实例

关于c#二叉树的实现

C# 委托(跨窗体操作控件)实例流程讲解

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

c# 图片加密解密的实例代码

c#解压文件的实例方法

精品推荐
分类导航