亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 事件详解:处理用户操作与系统通知的发布-订阅模式

什么是事件?

事件是用户操作(如按键、点击、鼠标移动等)或系统生成的通知等发生的事情。应用程序需要在事件发生时做出响应,例如中断处理。事件用于进程间通信。

委托与事件的配合使用

事件在类中声明并引发,通过委托与事件处理程序关联,可以在同一类或其他类中。包含事件的类用于发布事件,称为发布者类。接受该事件的其他类称为订阅者类。事件采用发布-订阅模型。

声明事件

要在类中声明事件,首先必须为事件声明委托类型:

public delegate string BoilerLogHandler(string str);

然后,使用 event 关键字声明事件:

event BoilerLogHandler BoilerEventLog;

上述代码定义了一个名为 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("Tutorials Point");
            Console.WriteLine(result);
        }
    }
}

编译执行上述代码,输出结果如下:

Welcome Tutorials Point

C语言

  1. C# 类与对象:面向对象编程的基石
  2. 理解 C# 访问修饰符:public、private、protected、internal 等完全指南
  3. C# static 关键字:静态变量、方法与类完全掌握
  4. 掌握 C# 抽象类与抽象方法:实战指南
  5. 理解 C# 嵌套类:定义、访问与继承实战
  6. 理解 C# 分部类与分部方法
  7. 掌握 C# sealed 类与方法:用法、示例与代码安全性能提升
  8. C++多态实战指南:虚函数、动态绑定与纯虚函数
  9. C++数据抽象实战:接口与实现分离的设计艺术
  10. C++数据封装:守护代码安全的核心机制
  11. C# 程序结构解析:从 Hello World 看命名空间、类、Main 入口与编译运行
  12. C# 基础语法与面向对象核心:类、成员、实例化、标识符与关键字