zoukankan      html  css  js  c++  java
  • 托付和事件的使用

    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();
            }
        }
    }

  • 相关阅读:
    NSDateFormatter格式详细列表一览
    Core Data could not fulfill a fault
    使用Devstack部署neutron网络节点
    配置基于Devstack的嵌套KVM虚拟化
    配置基于Devstack的嵌套KVM虚拟化
    Devstack单节点环境实战配置
    Devstack单节点环境实战配置
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack 中的消息总线 & AMQP
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5131452.html
Copyright © 2011-2022 走看看