码迷,mamicode.com
首页 > 其他好文 > 详细

委托和事件的使用

时间:2014-12-18 15:14:38      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:ar   io   使用   sp   for   on   bs   cti   ad   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace delegatedemo
{
    public delegate void BoilDelegate(int temp);
    public class Heater
    {
        public int temprature;
        public event BoilDelegate boilEvent;
        public void Boil()
        {
            for (int i = 0; i <= 100; i++)
            {
                temprature = i;
                if (temprature > 95)
                {
                    if (boilEvent != null)
                    {
                        boilEvent(temprature);
                    }
                }
            }
        }
    }

}

显示器和报警器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace delegatedemo
{
    public class Alerm
    {
        public void MakeAlerm(int temp)
        {
            Console.WriteLine("滴滴滴,水已经{0}度!", temp);
        }
    }


    public class Display
    {
        public void ShowMsg(int temp)
        {
            Console.WriteLine("水温是{0}度", temp);
            Console.ReadKey();
        }
    }
}


调用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace delegatedemo
{
    class Program
    {
        static void Main(string[] args)
        {
            heater = new Heater();
            heater.boilEvent += new Alerm().MakeAlerm;//注册报警器发出警报的事件
            heater.boilEvent += new Display().ShowMsg;//注册显示温度的事件
            heater.Boil();
        }
    }
}

委托和事件的使用

标签:ar   io   使用   sp   for   on   bs   cti   ad   

原文地址:http://blog.csdn.net/luohuajiexiejuan/article/details/42005241

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!