VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之C#-事件(十八)

  • 2019-03-21 19:25 来源:未知
概述
  事件(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 }
复制代码

 结果

   

 

作者:Tynam.Yang 
       出处:https://www.cnblogs.com/tynam/ 
       本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


相关教程