C#事件和委托(C#学习笔记03)(乘风破浪的姐姐第三季)

网友投稿 287 2022-08-10

C#事件和委托(C#学习笔记03)(乘风破浪的姐姐第三季)

委托

1. C# 中的委托类似于 C 或 C++ 中指向函数的指针。委托表示引用某个方法的引用类型变量,运行时可以更改引用对象。

2. 特别地,委托可以用于处理事件或回调函数。并且,所有的委托类都是从 System.Delegate 类继承而来。

声明委托的语法规则:(被委托所引用的方法需有相同的参数和返回值)

delegate

一个委托使用示例:

事件

事件是应用程序在执行过程中所关注的一些动作,但这些动作发生时,程序需要对其做出响应。事件的概念比较广泛,所有程序需要进行响应处理的动作都可以称为事件。如鼠标单击、键盘输入、计时器消息...

事件基于委托,为委托提供了一种发布/订阅机制,在.NET架构内外都可以看到事件。在Windows应用程序中,Button类提供了Click事件。这类事件就是委托,触发Click事件调用的处理程序需要得到定义,而其参数由委托类型定义。

事件机制是以消息为基础的,当特定的动作发生后会产生相应的消息,关注该事件的应用程序收到事件发生的消息,就会开始指定处理过程。

示例:

参考自:[w3cSchool] https://w3cschool.cn/wkcsharp/yvoj1nvx.html"%3Ehttps://w3cschool.cn/wkcsharp/yvoj1nvx.html%3C/a%3E

该示例为一个简单的应用程序,该程序用于热水锅炉系统故障排除。当维修工程师检查锅炉时,锅炉的温度、压力以及工程师所写的备注都会被自动记录到一个日志文件中。

示例中可以看出,在主函数中,创建了事件发布器类(DelegateBoilerEvent),并将一个写入文档的(订阅器)和一个控制台输出函数添加进事件示例中。在执行触发器类中的记录过程函数(LogProcess() )时,就会调用所有添加进事件的函数实例。

执行结果:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C#程序计算N阶行列式的值及N元一次方程组(count)
下一篇:类型和变量(C#学习笔记02)(类型和变量之间的关系是)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~