事件是基于委托实现的
1、定义一个事件类,也称发布器
public class BoilEventClass
{
public delegate void BoilHandler(string t);
public event BoilHandler BoilEvent;//定义一个委托事件
/// <summary>
/// 加热的方法
/// </summary>
/// <param name="temprature"></param>
public void JiaRe(int temprature)
{
//触发事件的条件
if (temprature>85) {
OnBoilEvent ( temprature.ToString() );
}
}
protected void OnBoilEvent(string t)
{
if (BoilEvent != null)
{
BoilEvent(t);
}
}
}
2、方法中调用,即 订阅器 实现
class Program
{
static void Main(string[] args)
{
BoilEventClass b = new BoilEventClass();
b.BoilEvent += b_BoilEvent;
while(true){
int c = Convert.ToInt32(Console.ReadLine());
b.JiaRe(c);
}
}
static void b_BoilEvent(string t)
{
Console.WriteLine("我沸腾了,因为我已经"+t+"度了!");
}
}