欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#委托现实示例分析

时间:2022-02-18 09:15:13|栏目:.NET代码|点击:

本文实例讲述了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#隐藏基类方法的作用

栏    目:.NET代码

下一篇:asp.net 从POST的数据流中提取参数和文件

本文标题:C#委托现实示例分析

本文地址:http://www.codeinn.net/misctech/193743.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有