C#基于自定义事件EventArgs怎么实现发布订阅模式
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍"C#基于自定义事件EventArgs怎么实现发布订阅模式"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C#基于自定义事件EventArgs怎
千家信息网最后更新 2025年02月23日C#基于自定义事件EventArgs怎么实现发布订阅模式
这篇文章主要介绍"C#基于自定义事件EventArgs怎么实现发布订阅模式"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C#基于自定义事件EventArgs怎么实现发布订阅模式"文章能帮助大家解决问题。
一、事件参数
//事件参数 class CustomEventArgs:EventArgs { public CustomEventArgs( string message) { Message = message; } public string Message { get; set; } }
二、事件发布者
//事件发布者:事件的定义和调用,触发事件也可以写在这里面 class Publisher { public event EventHandlerCustomEvent; public void DoSomething() { //调用之前可以在这里写一些其他的东西 // OnCustomEvent(new CustomEventArgs("我是事件参数")); } //在受保护的虚方法中包装事件的调用 ,这样就允许派生类重写调用行为 protected virtual void OnCustomEvent(CustomEventArgs e) { CustomEvent?.Invoke(this, e); } }
三、事件订阅者
//事件订阅者:事件方法编写和订阅功能 class Subscriber { private readonly string Str; ////订阅的动作要在这里面了,所以才要传过来发布者 public Subscriber( string str,Publisher publisher) { Str = str; //订阅事件 publisher.CustomEvent += HanderCustomEvent; } private void HanderCustomEvent(object sender, CustomEventArgs e) { //在这里做想做的事件 Console.WriteLine($"发布者:{sender.GetType()},订阅者:{Str},参数是:{e.Message}"); } } //事件订阅者:事件方法编写和订阅功能 class Subscriber2 { private readonly string Str; ////订阅的动作要在这里面了,所以才要传过来发布者 public Subscriber2(string str, Publisher publisher) { Str = str; //订阅事件 publisher.CustomEvent += HanderCustomEvent; } private void HanderCustomEvent(object sender, CustomEventArgs e) { //在这里做想做的事件 Console.WriteLine($"发布者:{sender.GetType()},订阅者:{Str},参数是:{e.Message}"); } }
四、调用事件
static void Main(string[] args) { Publisher publisher = new Publisher(); Subscriber subscriber1 = new Subscriber("subscriber1", publisher); Subscriber2 subscriber2 = new Subscriber2("subscriber2", publisher); //调用引发事件的方法 publisher.DoSomething(); Console.ReadKey(); }
关于"C#基于自定义事件EventArgs怎么实现发布订阅模式"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
事件
订阅
发布者
参数
方法
订阅者
模式
C#
知识
功能
动作
行业
不同
实用
东西
内容
实用性
实际
文章
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器龙关
pcs7怎么打开数据库
网络安全考试简讯范文
智创软件开发有限公司招聘
本地备份服务器需求
2345流氓软件开发者
sql数据库与asp
服务器上ip地址怎么查看
考生网络安全
抖爸爸网络技术学院培训
GSA数据库下载权限
临沂市网络安全教育
服务器打睡
和平精英充值服务器哪里最多
网络安全倍受关注
一八年国家网络安全的主体
马来西亚文献数据库
21世纪中国互联网科技
饭店点餐数据库
我的世界暑假服务器礼包商店
闵行区网络技术服务报价
中国经济信息网数据库
串口设备服务器如何查询地址
洋码头网络技术有些公司
网络安全领域哪个公司比较好
计算机网络技术搜题软件
手抄报文字网络安全宣传周
宁波市软件开发人才
大学网络安全班会结尾
中专网络技术以后从事