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+事件的调用方式:

相关推荐
~patience~5 小时前
WAV 逆向分析工具使用笔记
笔记
滴啦嘟啦哒5 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
xier_ran5 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名5 小时前
ai应用开发的学习笔记
服务器·笔记·学习
乔旭伟6 小时前
中小厂生产管理系统选型笔记:驱动方式、主线链路与成本结构
笔记·需求分析·规格说明书
xier_ran6 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习
燕落南枝6 小时前
HTML 学习:辅助标签 label 与字符实体
前端·学习·html
hackchen6 小时前
LangChain 学习第 3 课 - 输出解析器(Output Parser)
数据库·学习·langchain
如旧呀7 小时前
origin绘制等距的HSD置信区间
笔记·origin
问心无愧05137 小时前
[极客大挑战 2019]Upload
笔记