手机
当前位置:查字典教程网 >编程开发 >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#委托现实示例分析】相关文章:

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

对c#中委托的理解

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

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

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

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

经典的委托排序(深入分析)

c# 委托和事件实例学习

C#实现类似qq的屏幕截图程序

基于C#委托的深入分析

精品推荐
分类导航