• C#-事件(十八)


    概述
      事件(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 }

     结果

       

  • 相关阅读:
    木棍加工 [搜索]
    (转)CSP前必须记住的30句话
    [NOI2015] 程序自动分析
    JOI 2019 Final 硬币收藏
    可达性统计
    CSP-S初赛考纲内容大全
    AT2021 キャンディーとN人の子供 / Children and Candies
    AT2067 たくさんの数式 / Many Formulas
    NOIP2018提高组初赛某题
    String转Map集合
  • 原文地址:https://www.cnblogs.com/tynam/p/9996859.html
Copyright © 2020-2023  润新知