c# 委托,事物

   这是网上摘来的,写的很牛,记录下来!

http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html

 

在最外面(命名空间)定义delegete

然后写一个类,使用delegate

再写一个类,用来编写要实现的功能

最后写main。

 

一个热水器代码,用观察者模式,利用委托,事务写出来

class Heater   //加热器
    {
        private int temperature;                    //声明温度
        public delegate void BoilHandler(int temp); //声明委托
        public event BoilHandler bhEvent;           //声明事务


        public void BoilWater()                    //烧水
        {
            for (int i = 0; i < 100;i++ )
            {
                temperature = i;
                if (i > 95)
                {
                    if (bhEvent != null)           //如果事务不为空
                    {
                        bhEvent(i);                //调用事务
                    }
                }
            }
        }

        public void Alarm(int temp)               //警报功能
        {
            Console.WriteLine("声音:警报,当前温度{0}",temp);
        }


        public void Display(int temp)            //显示功能
        {
            Console.WriteLine("显示:提示,当前温度{0}",temp);
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            Heater heater = new Heater();
            heater.bhEvent += heater.Alarm;     //给事务注册方法
            heater.bhEvent += heater.Display;   //给事务注册方法
            heater.BoilWater();                 //之行烧水的方法,此时就会自动调用警报功能和显示功能
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值