C#学习笔记2 刘铁锰

视频来源https://www.bilibili.com/video/BV13b411b7Ht?spm_id_from=333.788.player.switch&vd_source=81584e9639e054943cf0f47509a8b4da&p=19

委托:

函数指向算法

变量指向数据

C#通过委托保留了函数指针。

用action 委托,委托的函数是void 类型的

func 委托,如上图

自定义委托如下图

接口可以实现委托的功能

======================================

事件(难点,重点)

事件是form的click事件,事件的方法是FormClicked(ctrl+. 回车会自动创建这个方法的模板)

这个方法就是我们的事件处理器。+=是事件的操作符

事件的拥有者是form,事件的响应者是Controller.程序功能,点击窗口可在标题栏显示时间

下面这个例子,拥有着和响应者是同一个From

这里定义了一个MyForm类,是继承自From,可以扩展功能

两个按钮可以订阅同一个方法,下面这个例子button1和button2使用的是系统自带的订阅方法,直接在属性栏小闪电下写,button3是使用委托的方法订阅buttonClicked方法。这里输入button3.click之后new之后,系统会自动弹出小提手表示可用的委托方式。下面的例子使用的是EnventHandler

也可以使用lamda表达式的方式订阅,不用委托

委托类型的自定义

声明一个委托使用关键字 delegate 一般是**+EnentHander()这样命名,委托的类,委托的参数一般是**+EnventArgs,习惯这个派生自EnvenArgs。

委托一般写在类平级的地方

完整声明,调用orderEnventHandler

简略声明,可以直接调用Order

继续简化,使用windows中有的EventHandler委托声明即可,然后将参数类型转化成自定义的类型即可,as表示转化为

On+事件的调用方式:

相关推荐
Mr_liu_6661 小时前
Claude非专业入门实战笔记(4):Claude运行方式简单解析——从RAG到代理循环
笔记·ai编程·claude
凯尔萨厮1 小时前
Git(学习笔记)
笔记·git·学习
蒸蒸yyyyzwd1 小时前
cpp选手备注秋招 MySQL学习笔记 day8
笔记·学习·求职招聘
AI直播技术杂谈2 小时前
本周技术笔记:直播推流的心跳检测与断线重连逻辑
笔记
九硕智慧建筑一体化厂家2 小时前
从照明节能到碳排可见:能碳平台助力机房迈向 “零碳” 未来
运维·笔记·智慧城市
Aision_2 小时前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
是隼人3 小时前
buuctf-pwn bjdctf_2020_babystack2题解 整数溢出(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
KhalilRuan4 小时前
UnityCsReference——笔记
java·开发语言·笔记
电子云与长程纠缠4 小时前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎