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

     

  • 相关阅读:
    go module配置
    beego conf配置文件
    go string类型的特性
    go语言简单介绍,增强了解
    beego项目和go项目 打包部署到linux
    第一个go程序
    linux下vim编辑器查找 关键字
    配置ngnix下的虚拟主机
    PHP中文无乱码截取
    #1040
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/12443686.html
Copyright © 2011-2022 走看看