新闻详情

新闻详情

首页 / 资讯中心 / 详情

17.C# —— 事件

发布时间:2026/9/2 12:17:49来源:尧图网络
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

相关资讯

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

较早相关资讯

最新相关资讯

Qwen3-VL多模态LoRA微调实战:从数据准备到模型部署 2026/9/2 12:16:28

Qwen3-VL多模态LoRA微调实战:从数据准备到模型部署

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

阅读更多 →
3 步卸载 ExplorerPatcher:把 Windows 界面还原到出厂样式 2026/9/2 12:16:28

3 步卸载 ExplorerPatcher:把 Windows 界面还原到出厂样式

3 步卸载 ExplorerPatcher:把 Windows 界面还原到出厂样式 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 用 ExplorerPatcher 调过…

阅读更多 →
MediaPipe 人脸检测 3 步跑通:零代码调参的完整实操指南 2026/9/2 12:16:28

MediaPipe 人脸检测 3 步跑通:零代码调参的完整实操指南

MediaPipe 人脸检测 3 步跑通:零代码调参的完整实操指南 【免费下载链接】mediapipe Cross-platform, customizable ML solutions for live and streaming media. 项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe 周一下午两点四十&#xff0c…

阅读更多 →
go-zero 服务治理实战:3 个故障场景讲透熔断、限流与降级 2026/9/2 12:16:28

go-zero 服务治理实战:3 个故障场景讲透熔断、限流与降级

go-zero 服务治理实战:3 个故障场景讲透熔断、限流与降级 【免费下载链接】go-zero A cloud-native Go microservices framework with cli tool for productivity. 项目地址: https://gitcode.com/GitHub_Trending/go/go-zero 凌晨三点,告警群炸了…

阅读更多 →
ExplorerPatcher 免费指南:快速还原 Windows 11 经典任务栏与开始菜单 2026/9/2 12:16:28

ExplorerPatcher 免费指南:快速还原 Windows 11 经典任务栏与开始菜单

ExplorerPatcher 免费指南:快速还原 Windows 11 经典任务栏与开始菜单 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 刚升级到 Wi…

阅读更多 →
基于YOLOv8的太阳能板灰尘检测:从数据标注到多平台部署实战 2026/9/2 12:13:28

基于YOLOv8的太阳能板灰尘检测:从数据标注到多平台部署实战

简介:本资源是一套基于YOLOv8的太阳能板表面灰尘检测完整实践方案,面向计算机、人工智能、自动化等专业的本科生及初学者,解决光伏运维中关键的表面污染智能识别问题,适用于毕业设计、课程设计、大作业或项目原型开发。压缩包共8个…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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