本文实例讲述了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#程序设计有所帮助。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论