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

相关推荐
点心的游戏开发世界1 天前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
摇滚侠1 天前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 32
spring boot·笔记·后端
sunshine22 girl1 天前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
鱼子星_1 天前
【C++】继承和多态(上)
c++·笔记
Kobebryant-Manba1 天前
学习Bert微调
人工智能·学习·bert
xian_wwq1 天前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
我爱cope1 天前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
策案案案1 天前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
代码的小搬运工1 天前
KVO学习
学习·ios·cocoa
辣知1 天前
辣知·化智47 黄帝陵与民族精神归途
学习