当前位置: 移动技术网 > IT编程>开发语言>.net > C#-事件(十八)

C#-事件(十八)

2018年11月23日  | 移动技术网IT编程  | 我要评论

wu2198的新浪博客,糖是怎样恋成的,闺蜜头像

概述
  事件(event) 基本上说是一个用户操作,如按键、点击、鼠标移动
  使用事件,可以很方便地确定程序执行顺序
  事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联
  包含事件的类用于发布事称为 发布器(publisher) 类
  其他接受该事件的类被称为 订阅器(subscriber) 类
  事件发布器和事件订阅器通过委托来实现发送方和接收方的事件触发
 
实例
 1 using system;
 2 namespace consoleapp1
 3 {
 4     class eventtest
 5     {
 6                 // 声明委托
 7                 public delegate void eventhander(object sender, eventargs e);
 8                 public string sex { get; set; } = "man";
 9                 
10                 // 定义事件,基于委托
11                 public event eventhander gotoilet;
12                 // 触发事件
13                 public void onevent(eventargs e)
14                 {
15                         if(this.gotoilet != null)
16                         {
17                                 this.gotoilet(this, e);
18                         }
19                 }
20                 public static void toilet(object sender, eventargs e)
21                 {
22                         var core = (eventtest)sender;
23                         console.writeline("please enter " + core.sex + " toilet");
24                 }
25                 static void main(string[] args)
26                 {
27                         var et = new eventtest();
28                         et.gotoilet += new eventhander(toilet);
29                         while (true)
30                         {
31                                 et.onevent(null);
32                                 console.readkey();
33                         }
34                 }
35         }
36 }

 结果

   

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网