当前位置: 首页 > article >正文

C# 委托/事件

Delegate

传参:0 - 32个参数
返回:可以无返回值,也可以指定返回值类型。
清空:± / null

例:

public class EventExample
{
    // 定义一个delegate
    public delegate void MyEventHandler(object source, EventArgs args);

    // 定义一个event
    public event MyEventHandler MyEvent;

    // 一个可以触发事件的方法
    public void RaiseEvent()
    {
        MyEvent?.Invoke(this, EventArgs.Empty);
    }

    // 一个可以清除事件的方法
    public void ClearEvent()
    {
        // 删除所有的订阅者
        MyEvent = null;
    }
}
Action

传参:0 - 16个参数
返回:无
清空:± / null

例子:
Action xxx;
Action<int,string> xxxx;

Func

传参:0 - 16
返回:必须返回

例子:
Func<int>
Func<T1,T2,T3,int>

Predicate

修饰符
  • Event
    使用event修饰符的好处是可以保护你的事件,防止外部类直接调用事件或修改事件的订阅列表。只有声明事件的类可以触发事件,而其他类只能订阅或取消订阅事件。

http://www.kler.cn/news/358955.html

相关文章:

  • 架构设计笔记-17-通信系统架构设计理论及实践
  • 什么是“河西走廊”?
  • 基于Java+Springboot+Vue开发的鲜牛奶订购管理系统
  • docker如何建立本地私有仓库,并将docker镜像推到私有仓库
  • 置分辨率设置多显示器的时候提示, 某些设置由系统管理员进行管理
  • Spring Cloud --- Gateway自定义条件过滤器
  • unity的一个bug
  • 三元组表矩阵运算
  • 力扣56~60题
  • 利用Docker搭建一套Mycat2+MySQL8一主一从、读写分离的最简单集群(保姆教程)
  • cocos Creator + fairyGUI 快速入门
  • 错误:‘AT_CHECK’ was not declared in this scope; did you mean ‘DCHECK’?
  • 【计算机网络 - 基础问题】每日 3 题(四十九)
  • Redis Geo 数据类型解析:基于 ZSET 的高效地理位置管理0708
  • 双十一购物节有哪些好物值得入手?2024双十一好物清单合集分享
  • 边缘计算网关助力煤矿安全远程监控系统
  • HTTPS证书生成、验签-、证书链
  • k8s-NFS系统配置
  • FastGPT本地开发 之 通过Navicat管理MongoDB、PostgreSQL数据库
  • (BIOS)Windows系统下GSensor坐标映射