zoukankan      html  css  js  c++  java
  • .net 事件一 模仿Button按钮

    最先开始接触到命令是webfrom的时候,那个时候拖拉控件,然后直接写click事件,可能是先入为主的思想,

    再加上对于事件的运用也太少,导致接触到命令模式,CQRS,发布订阅模式的时候对于事件这一块不是理解,

    所以加深一下理解,这里我们用控制台模拟一个button按钮

     1 public  class Button
     2     {
     3         //定义调用事件的委托
     4         public delegate void ButtonDelegate( string e);
     5 
     6         //按钮单机事件
     7         private event ButtonDelegate ButtionClick;
     8 
     9         //事件的添加删除
    10         public event ButtonDelegate Click_Event
    11         {
    12             add { this.ButtionClick += value; }
    13             remove { this.ButtionClick -= value; }
    14         }
    15 
    16         //触发事件
    17         public void RaiseClick(string args)
    18         {
    19             ButtionClick?.Invoke(args);
    20         }
    21     }

    在事件也是类的成员,他和属性不一样,操作事件是通过add和remove

     1  class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Button b = new Button();
     6             b.Click_Event += new Button.ButtonDelegate(Button_Click);
     7             b.Click_Event += new Button.ButtonDelegate(Button_Click1);
     8 
     9             b.RaiseClick("Hello");
    10 
    11             Console.ReadLine();
    12         }
    13 
    14         private static void Button_Click(string args)
    15         {
    16             Console.WriteLine(args);
    17         }
    18 
    19         private static void Button_Click1( string args)
    20         {
    21             Console.WriteLine(args);
    22         }
    

    这里简单的介绍了怎么定义事件,下一步我们做个一简单的发布订阅。

  • 相关阅读:
    好用的电脑软件
    Swoft HTTPServer 使用经验分享
    nginx location proxy_pass详解
    kafka文档
    es 安装
    rabbitmq 文档
    Mysql百万级数据迁移,怎么迁移?实战过没?
    用bat脚本在Windows上实现微信多开
    vscode保存时自动格式化
    引入bootstrap
  • 原文地址:https://www.cnblogs.com/MarkSun3/p/9490930.html
Copyright © 2011-2022 走看看