C# 委托/事件

ops/2024/10/21 21:10:28/
Delegate

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

例:

public class EventExample
{// 定义一个delegatepublic delegate void MyEventHandler(object source, EventArgs args);// 定义一个eventpublic 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.ppmy.cn/ops/127375.html

相关文章

MySQL-29.事务-四大特性

一.事务的四大特性(ACID) 事务总结

js读取.txt文件内容

方法一&#xff1a;FileReader() <input type"file" id"fileInput" /><script>const fileInput document.getElementById(fileInput)fileInput.addEventListener(change, function (e) {const file e.target.files[0]const reader new Fil…

某建筑集团公司流程优化项目纪实

某建筑集团公司流程优化项目纪实 ——从审批流程看“文件旅游”现象 【导读】 审批流程中的“文件旅游”现象在企业中非常常见&#xff0c;一份文件从一个部门转到另一个部门&#xff0c;文件被层层把关&#xff0c;往往会因为一个环节的问题影响整个流程的工作效率。针对此&…

__问题——进入启动文件_卡死在Default_Handler_死机

MCU&#xff1a;STM32F407VET6 先说结论&#xff0c;调试时跳转到启动文件里的死循环&#xff0c;只要不是硬件错误中断&#xff0c;那么多半是因为中断处理函数没有定义导致的。 【历程】 今天在测试最小单片机系统时&#xff0c;定义了一个按键处理&#xff0c;依赖的是外部中…

QT QML 练习6-QML语法(QML Syntax)

QML语法&#xff08;QML Syntax&#xff09; QML是一种描述用户界面的声明式语言。它将用户界面分解成一些更小的元素&#xff0c;这些元素能够结合成一个组件。QML语言描述了用户界面元素的形状和行为。用户界面能够使用JavaScript来提供修饰&#xff0c;或者增加更加复杂的逻…

git的下载安装完整教程

一、下载 官网下载地址&#xff1a;Git - Downloads (git-scm.com) 二、安装 1.双击 2.按照安装向导next

6.计算机网络_UDP

UDP的主要特点&#xff1a; 无连接&#xff0c;发送数据之前不需要建立连接。不保证可靠交付。面向报文。应用层给UDP报文后&#xff0c;UDP并不会抽象为一个一个的字节&#xff0c;而是整个报文一起发送。没有拥塞控制。网络拥堵时&#xff0c;发送端并不会降低发送速率。可以…

自监督行为识别-时空线索解耦(论文复现)

自监督行为识别-时空线索解耦(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 自监督行为识别-时空线索解耦(论文复现)引言论文概述核心创新点双向解耦编码器跨域对比损失的构建结构化数据增强项目部署准备工作数据准备生成数据训练&测试训练测试bug修改…