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

相关推荐
wangqiaowq17 小时前
Ontology 学习 二
学习
该学习了咕咕1 天前
顶刊论文学习笔记
学习
希和20271 天前
考研英语阅读词汇笔记|城市野径、抄近道步道(非正式小路)
笔记·考研
Linux-lucky1 天前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
li星野1 天前
【学习记录】k-Wave 时间步长、CFL 稳定性与参数实验全解析
学习
一个人旅程~1 天前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
心祭丫丫1 天前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
派大猩猩_1 天前
Obsidian 笔记怎么同步多端:Nutstore Sync 大笔记库同步测评
笔记·obsidian·obsidian插件·obsidian同步
Nerd(BUG版)1 天前
Flutter学习day5--事件手势与命中测试
学习·flutter
Nerd(BUG版)1 天前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin