zoukankan      html  css  js  c++  java
  • C# 委托与事件的DEMO

    委托的自我理解:就是观察者与被观察者之间的行为事件。

    父亲是被观察者

    儿子是观察者

    儿子随时观察父亲发出的命令

    父亲只发布命令做什么,不关心儿子怎么去做

    儿子收到父亲的委托命令,就去执行,

    class Program
        {
            static void Main(string[] args)
            {
                Sender sender = new Sender();
                Reciver reciver = new Reciver(sender);
                sender.SendMessage("去买东西");
                Console.Read();
            }
        }
        public delegate void SendMessageEventHandler(string msg);//定义委托
        /// <summary>
        /// 父亲
        /// </summary>
        class Sender
        {
            public event SendMessageEventHandler SendMessageEvent;//定义事件
            public void SendMessage(string msg)
            {
                Console.WriteLine("Sender发布命令:" + msg);
                SendMessageEvent?.Invoke(msg);//调用事件
            }
        }
        /// <summary>
        /// 儿子
        /// </summary>
        class Reciver
        {
            Sender sender;
            public Reciver(Sender sender)
            {
                this.sender = sender;
                sender.SendMessageEvent += new SendMessageEventHandler(ReciveMessage);//订阅事件
            }
            public void ReciveMessage(string msg)
            {
                Console.WriteLine("Reciver执行命令:" + msg);
            }
        }

     

  • 相关阅读:
    mac安装go环境
    Ubuntu-Mininet安装
    安装pyenv
    linux下安装weblogic
    C#常用方法
    jenkins部署net core ——2
    jenkins部署net core ——1
    Inno Steup
    安装两个SQL server 实例
    C#线程启动、暂停、恢复、停止怎么实现
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/12443686.html
Copyright © 2011-2022 走看看