C#委託回撥的一個例子
參考:
http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html
直接上程式碼:
using System;
using System.Collections.Generic;
using System.Text;
namespace Delegate
{
//加熱器
public class Heater
{
private int tempurature;
public delegate void BoilHandler(int param);
public event BoilHandler Boilevent;
public void BoilWater()
{
int i = 0;
while (i < 100)
{
tempurature = i;
if (tempurature > 95)
{
if (Boilevent!=null)
{
Boilevent(tempurature);
}
}
i++;
}
}
}
//顯示器
public class Displayer
{
public void showMsg(int t)
{
Console.WriteLine("當前溫度是{0}度",t);
}
}
//警報器
public class Alarmer
{
public static void alam(int t)
{
Console.WriteLine("警告!溫度已經{0}度了,水即將燒開了!",t);
}
}
public class Program
{
public static void Main()
{
Heater heater = new Heater();
Displayer displayer = new Displayer();
//註冊方法
heater.Boilevent += displayer.showMsg;//註冊物件的方法
heater.Boilevent += (new Displayer().showMsg);//註冊匿名物件方法
heater.Boilevent += Alarmer.alam;//註冊靜態方法
heater.BoilWater();
}
}
}
相關文章
- 詳解C#委託,事件與回撥函式C#事件函式
- C#使用委託實現函式回撥,方法呼叫攔截C#函式
- C#基礎委託回顧C#
- 關於委託事件的一兩個很好的例子!事件
- C#自學(一)委託(delegate)、委託泛型、多播委託C#泛型
- 從IL角度徹底理解回撥_委託_指標指標
- C#委託C#
- C#的委託案例C#
- C#中的委託C#
- C# 事件委託C#事件
- C#委託(delegate)C#
- C# 委託事件C#事件
- 窺探Swift之協議(Protocol)和委託代理(Delegate)回撥的使用Swift協議Protocol
- 詳解C#委託和事件(一)C#事件
- C#委託與事件C#事件
- C#委託理解(1)C#
- c# 委託測試C#
- C#再識委託C#
- C# 事件 vs 委託C#事件
- C# - 委託與事件C#事件
- c# 委託和事件C#事件
- C# 委託(delegate)、泛型委託和Lambda表示式C#泛型
- 理解什麼是委託、事件、Lambad表示式,從回撥說起!事件
- C#反射的委託建立器C#反射
- C# 中的委託和事件C#事件
- C#委託的非同步呼叫C#非同步
- 委託與事件-委託詳解(一)事件
- 瞭解下C# 委託(Delegate)C#
- C# 之委託與事件C#事件
- 什麼是委託(C#)C#
- C#中的委託和事件(續)C#事件
- C#程式設計之委託與事件(一)C#程式設計事件
- C#基礎:泛型委託C#泛型
- C#:委託和自定義事件C#事件
- C#委託使用詳解(Delegates)C#
- C# 委託(Delegates)使用詳解C#
- 詳解C#委託與事件C#事件
- C#中的執行緒一(委託中的非同步)C#執行緒非同步