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 分钟前
个人博客|博客app|基于Springboot+微信小程序的个人博客app系统设计与实现(源码+数据库+文档)
java·前端·数据库·spring boot·后端·小程序·论文
曹绍华9 分钟前
android 线程loop
android·java·开发语言
我命由我1234514 分钟前
Android 开发 - Android JNI 开发关键要点
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
树在风中摇曳17 分钟前
C语言动态内存管理:从基础到进阶的完整解析
c语言·开发语言·算法
YG亲测源码屋27 分钟前
怎么让自己的网址被百度收录(网站如何被百度收录进去)
java·百度·dubbo
风筝在晴天搁浅28 分钟前
代码随想录 Q89.跳跃游戏Ⅱ
java
mjhcsp30 分钟前
C++ 高精度计算:突破数据类型限制的实现与应用
开发语言·c++·算法·高精度
lixinnnn.31 分钟前
C++: map和set
开发语言·c++
郝学胜-神的一滴1 小时前
Qt QPushButton 样式完全指南:从基础到高级实现
linux·开发语言·c++·qt·程序人生