You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中代码行this.MyEvent += new MyDel(WelcomeUser);的具体含义是什么

C#代码行this.MyEvent += new MyDel(WelcomeUser);含义说明

先明确代码里的两个前置定义:

  • 首先MyDel是自定义的委托类型,它规定了绑定的方法必须满足:入参为1个string类型、返回值为string类型
  • 其次MyEvent是用MyDel作为类型声明的事件,事件本质是委托的安全封装,仅允许通过+=添加订阅、-=移除订阅的操作。

这行代码的作用可以拆解为两部分:

  1. new MyDel(this.WelcomeUser):实例化一个MyDel类型的委托对象,将当前类的WelcomeUser方法作为该委托的绑定目标,后续调用这个委托实例时,就会自动执行WelcomeUser的逻辑
  2. this.MyEvent +=:将上面创建好的委托实例,添加到MyEvent事件的订阅者队列中。之后只要触发MyEvent事件,就会按顺序调用队列中所有委托绑定的方法。

补充:更高版本的C#支持语法糖简化,这行代码可以直接写成this.MyEvent += WelcomeUser;,编译器会自动完成委托实例化的操作,运行效果完全一致。

你贴的完整代码的执行逻辑也可以验证这个作用:

  • Main方法中实例化EventProgram对象时,会先执行构造函数完成WelcomeUser方法对MyEvent的订阅
  • 后续调用obj1.MyEvent("Tutorials Point")触发事件,就会执行WelcomeUser方法,返回Welcome Tutorials Point打印输出。

内容的提问来源于stack exchange,提问作者Mr.Wadile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:36:03