C#委托現(xiàn)實示例分析
更新時間:2015年04月22日 12:16:50 作者:songguo
這篇文章主要介紹了C#委托現(xiàn)實,實例分析了C#委托的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#委托現(xiàn)實的用法。分享給大家供大家參考。具體分析如下:
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:嘀嘀嘀,水已經(jīng) {0} 度了:",param); } } // 顯示器 public class Display { public static void ShowMsg(int param) { //靜態(tài)方法 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; //注冊靜態(tài)方法 heater.BoilWater(); //燒水,會自動調用注冊過對象的方法 } } }
輸出為:
Alarm:嘀嘀嘀,水已經(jīng) 96 度了: Alarm:嘀嘀嘀,水已經(jīng) 96 度了: Display:水快燒開了,當前溫度:96度。
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#中Request.Cookies 和 Response.Cookies 的區(qū)別分析
本文通過實例代碼向我們展示了C#中Request.Cookies 和 Response.Cookies 的區(qū)別,文章淺顯易懂,這里推薦給大家。2014-11-11深入C# 4.0 新特性dynamic、可選參數(shù)、命名參數(shù)的詳細介紹
本篇文章是對C# 4.0 新特性dynamic、可選參數(shù)、命名參數(shù)進行了詳細的分析介紹,需要的朋友參考下2013-05-05