C# 事件:委托字段的封装

本文探讨C#事件的本质,将其比喻为委托字段的保护型包装器,类似于属性对字段的作用。事件核心包含五个部分:事件拥有者、事件本身、响应者、处理器和订阅关系。通过举例说明,解释了如何根据这些要素自定义事件,并提供了事件完整声明和简约声明(语法糖)的案例,同时提到了C#的标准事件名称EventHandler(object sender, EventArgs)。" 112951876,10496939,「State of JS 2020」解读:JavaScript 新趋势与框架满意度,"['javascript', 'vue.js', 'html', 'html5', 'css']
摘要由CSDN通过智能技术生成

 感谢刘铁猛老师的C#教学视频(值得反复看),以及B站UP主SunnieShine的C#教学专栏。

        事件本质是委托字段的封装。

        事件之于委托字段,相当于属性之于字段。事件本身不是字段,是字段的保护型包装器;属性不是字段,是字段的保护型包装器。

        个人理解,事件在逻辑层面的本质其实是“一个信号”,举个例子就是:“手机收到微信消息”这个事件,会触发“我拿起手机看消息”这个处理方法。

        事件的核心就是五部分:

        ①事件的拥有者

        ②事件本身

        ③事件的响应者

        ④事件的处理器(事件发生后的响应方法)

        ⑤事件的订阅关系

        上述手机收到微信的例子中,其中手机是事件的拥有者,收到微信消息是事件本身,我是事件的响应者,看消息是事件的处理器,我看消息和手机收到微信之间存在事件的订阅关系。

        在写代码来自定义事件的时候,实际也是根据上述五个要素来按步骤写即可,参考以下案例,包括了事件的完整声明格式和简约声明格式(语法糖)。C#还准备了通用事件名称EventHandler(object sender, EventArgs)。

using System;
using System.Threading;
namespace ConsoleOnlyTest
{
    internal class Program
    {
        static void Main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值