C# - 事件

C# - 事件 首页 / C#入门教程 / C# - 事件

事件(Event)是用户操作(如按键、单击、鼠标移动等)或某些事件(如系统生成的通知)。应用程序需要在事件发生时对其作出响应。事件用于进程间通信。

委托事件

事件是在类中声明和引发的,并使用同一类或某些其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。接受此事件的其他一些类称为订阅类,事件使用发布者-订阅者(publisher-subscriber)模型。

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/csharp-events.html

来源:LearnFk无涯教程网

      发布者  -  是一个包含事件定义和委托的对象,事件-委托关联也定义在此对象中。

      订阅者  -  是接受事件并提供事件处理程序的对象。发布类中的委托调用订阅类的方法。

声明事件

若要在类中声明事件,首先必须声明事件的委托类型。如,

public delegate string MyDel(string str);

接下来,使用Event关键字-声明事件本身

event MyDel MyEvent;

上面的代码定义了一个名为BoilerLogHandler的委托和一个名为BoilerEventLog的事件,该事件在引发委托时调用该委托。

using System;

namespace SampleApp {
   public delegate string MyDel(string str);
	
   class EventProgram {
      event MyDel MyEvent;
		
      public EventProgram() {
         this.MyEvent += new MyDel(this.WelcomeUser);
      }
      public string WelcomeUser(string username) {
         return "Welcome " + username;
      }
      static void Main(string[] args) {
         EventProgram obj1 = new EventProgram();
         string result = obj1.MyEvent("Learnfk Point");
         Console.WriteLine(result);
      }
   }
}

编译并执行上述代码时,将生成以下输出-

Welcome Learnfk Point

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

算法面试通关40讲 -〔覃超〕

互联网人的英语私教课 -〔陈亦峰〕

正则表达式入门课 -〔涂伟忠〕

爱上跑步 -〔钱亮〕

高楼的性能工程实战课 -〔高楼〕

李智慧 · 高并发架构实战课 -〔李智慧〕

后端工程师的高阶面经 -〔邓明〕

深入拆解消息队列47讲 -〔许文强〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)