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

  • 相关阅读:
    mysql查看所有触发器以及存储过程等操作集合【转】
    Hutool之Http工具类使用
    SpringCloud之Sentinel
    SpringCloud之Gateway
    com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    [AWS DA Guru] SQS
    [AWS DA Guru] Kinesis
    [AWS DA Guru] SNS & SES
    [Typescript] Prevent Type Widening of Object Literals with TypeScript's const Assertions
    [AWS] Updating Elastic Beans Talks & RDS
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5131452.html
Copyright © 2011-2022 走看看