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

相关推荐
宵时待雨9 分钟前
linux笔记归纳24:多路转接select
linux·服务器·笔记·高并发
一只旭宝11 分钟前
【C++复习】四种类型转换 + 常见设计模式 + Redis/MySQL(后端面试复习完整版)
c++·redis·笔记·mysql·设计模式
91刘仁德21 分钟前
RAG实战-Embedding模型(BGE)
笔记·embedding·rag
传奇开心果编程24 分钟前
【Flutter入门练中学】第3课:滚动与列表
android·学习·flutter·ui·ios
李游Leo30 分钟前
HarmonyOS 7 + ArkTS + Image Kit 学习笔记:图像超分处理链路与 PixelMap 数据流实践【鸿蒙心迹】
笔记·学习·harmonyos
驭渊的小故事39 分钟前
牛客网算法刷题笔记:哈希表、贪心与动态规划实战
笔记·算法·散列表
李游Leo1 小时前
HarmonyOS 7 + ArkTS + NAPI 学习笔记:Native 模块桥接、CMake 构建与跨语言调用实践【鸿蒙心迹】
笔记·学习·harmonyos
边境悍匪2 小时前
蜗牛学苑 Java 智能体学习 Day49|贯穿项目 5 订单下单业务 思维导图复盘
java·开发语言·spring boot·学习·阿里云
别动我齐刘海2 小时前
ROS2 Jazzy + C++ 时间系统——Time / Clock / Duration
linux·c++·人工智能·学习·机器学习·机器人·自动驾驶
小范的技术工坊2 小时前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型