新闻详情

新闻详情

首页 / 资讯中心 / 详情

17.C# —— 事件

发布时间:2026/9/11 15:36:08来源:尧图网络
17.C# —— 事件
目录一、事件基础概念1. 系统默认事件EventHandler二、自定义参数事件实战计算器加法完成事件三、知识点总结一、事件基础概念事件依托委托实现遵循发布 - 订阅设计模式发布方类内部声明事件满足业务条件时触发事件订阅方外部通过绑定处理方法、-取消订阅关键特性被event修饰不能直接用赋值覆盖全部订阅相比普通多播委托更安全。1. 系统默认事件EventHandler.NET 内置EventHandler委托固定签名void 方法(object sender, EventArgs e)适用于无自定义参数的事件。namespace _3事件 { internal class Program { //语法event 委托类型 事件名称 public static event EventHandler MyClick; static void Main(string[] args) { //绑定普通方法 MyClick new EventHandler(F1); //绑定Lambda表达式 MyClick (sender, e) { Console.WriteLine(lambda表达式); }; //触发执行事件 MyClick?.Invoke(null,null); } static void F1(object sender,EventArgs s) { Console.WriteLine(F1方法); } } }二、自定义参数事件实战计算器加法完成事件需求计算器执行加法完毕后触发事件订阅端获取两个加数与运算和。实现三步自定义委托 → 基于委托定义事件 → 业务方法中安全触发事件namespace _4例子 { //发布类定义委托、事件、加法逻辑 public class Calc { //1.自定义委托匹配事件处理方法参数格式 public delegate void AddDel(int a, int b, int sum); //2.声明事件 public event AddDel Finished; public void Add(int a,int b) { int sum a b; //3.空安全触发事件非空才调用 Finished?.Invoke(a,b,sum); } } //订阅端 internal class Program { static void Main(string[] args) { Calc c new Calc(); //订阅绑定事件回调方法 c.Finished F1; c.Add(10, 20); c.Add(30, 20); } //事件回调方法 static void F1(int a,int b,int c) { Console.WriteLine($a的值为{a},b的值为{b},c的值为{c}); } } }三、知识点总结事件 event 委托类型是封装后的安全委托绑定解绑只能订阅、-退订禁止外部清空两种事件写法内置EventHandler固定参数、自定义委托自定义参数触发规范使用事件名?.Invoke()做空判断避免空引用异常。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

3分钟搞定微信聊天记录导出:备份与年度报告完整指南 2026/9/11 15:36:02

3分钟搞定微信聊天记录导出:备份与年度报告完整指南

3分钟搞定微信聊天记录导出:备份与年度报告完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatM…

阅读更多 →
Joule Studio实战:从FAGLL03看SAP Skill开发边界与最佳实践 2026/9/11 15:36:02

Joule Studio实战:从FAGLL03看SAP Skill开发边界与最佳实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
SystemInformer 进程远程操作与内核通信能力定位指南 2026/9/11 15:36:02

SystemInformer 进程远程操作与内核通信能力定位指南

SystemInformer 进程远程操作与内核通信能力定位指南 【免费下载链接】systeminformer A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. htt…

阅读更多 →
Duix-Avatar 本地部署完整指南:一段 10 秒视频克隆出会说话的数字人 2026/9/11 15:36:02

Duix-Avatar 本地部署完整指南:一段 10 秒视频克隆出会说话的数字人

Duix-Avatar 本地部署完整指南:一段 10 秒视频克隆出会说话的数字人 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/…

阅读更多 →
从对话到执行:WorkBuddy智能工作台本地部署与技能实战 2026/9/11 15:36:02

从对话到执行:WorkBuddy智能工作台本地部署与技能实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
具身智能数据采集平台选型:开源对接与六大硬指标解析 2026/9/11 15:33:02

具身智能数据采集平台选型:开源对接与六大硬指标解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞