码迷,mamicode.com
首页 > Web开发 > 详细

.net 事件一 模仿Button按钮

时间:2018-08-17 01:18:05      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:理解   private   发布   eve   命令   adl   raise   定义   rem   

最先开始接触到命令是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         }

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

 

.net 事件一 模仿Button按钮

标签:理解   private   发布   eve   命令   adl   raise   定义   rem   

原文地址:https://www.cnblogs.com/MarkSun3/p/9490930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!