c#中的事件

事件

事件是基于委托的

关键字:event

使用

c# 复制代码
namespace ConsoleApp;

// 委托 delegate 可以放在类外面,事件 event 不可以。
public delegate double CalculateFunction(double x, double y);

class Program
{

    // 定义事件
    public static event CalculateFunction calFuncEvent;
    
    static double Add(double x, double y) => x + y;
    
    // 事件处理程序 Test3
    static double Test3(double x, double y)
    {
        Console.WriteLine($"事件实现 Add >_<");
        return Add(x, y);
    }
    
    static void Main(string[] args)
    {
        // 实例化委托(订阅)
        calFuncEvent += Test3;
        // 取消订阅
        // calFuncEvent -= Test3;
        
        // 激活事件
        calFuncEvent?.Invoke(12, 34);
    }
}

与委托的区别

委托是类型,事件是类型成员

事件是被限制了的委托

相关推荐
西元.2 分钟前
多线程循环打印
java·开发语言·jvm
高林雨露2 分钟前
Kotlin 基础语法解析
android·开发语言·kotlin
ml130185288749 分钟前
DeepSeek 助力心理医生小程序赋能!心理咨询小程序 线上咨询平台搭建
java·开发语言·小程序
不辉放弃9 分钟前
零基础讲解pandas
开发语言·python
用键盘当武器的秋刀鱼10 分钟前
springBoot统一响应类型3.5版本
java·spring boot·spring
A227411 分钟前
Netty——心跳监测机制
java·netty
Heliotrope_Sun31 分钟前
测试用例篇
java·测试用例
tangweiguo0305198738 分钟前
(Kotlin)Android 高效底部导航方案:基于预定义 Menu 和 ViewPager2 的 Fragment 动态绑定实现
android·开发语言·kotlin
逊嘘39 分钟前
【MySQL】表的增删改查(拓展)
java·数据库·mysql
ChiaWei Lee1 小时前
【C语言】深入理解指针(三):C语言中的高级指针应用
c语言·开发语言