C#支持事件举例分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"C#支持事件举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这里介绍C#支持事
千家信息网最后更新 2025年01月19日C#支持事件举例分析
本篇内容介绍了"C#支持事件举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
这里介绍C#支持事件(这个特点也是MSVJ所具有的),当前很多主流程序语言处理事件的方式各不相同,Delphi采用的是函数指针(这在Delphi中的术语是"closure")、Java用改编类来实现、VC用WindowsAPI的消息系统,而C#则直接使用delegate和event关键字来解决这个问题。下面让我们来看一个例子,例子中会给大家举出声明、调用和处理事件的全过程。
//首先是指代的声明,它定义了唤醒某个函数的事件信号 public delegate void ScoreChangeEventHandler (int newScore, ref bool cancel); //定义一个产生事件的类 public class Game { // 注意这里使用了event关键字 public event ScoreChangeEventHandler ScoreChange; int score; // Score 属性 public int Score { get { return score; } set { if (score != value) { bool cancel = false; ScoreChange (value, ref cancel); if (! cancel) score = value; } } } // 处理事件的类 public class Referee { public Referee (Game game) { // 裁判负责调整比赛中的分数变化 game.ScoreChange += new ScoreChangeEventHandler (game_ScoreChange); } // 注意这里的函数是怎样和ScoreChangeEventHandler的信号对上号的 private void game_ScoreChange (int newScore, ref bool cancel) { if (newScore < 100) System.Console.WriteLine ("Good Score"); else { cancel = true; System.Console.WriteLine ("No Score can be that high!"); } } } // 主函数类,用于测试上述特性 public class GameTest { public static void Main () { Game game = new Game (); Referee referee = new Referee (game); game.Score = 70; game.Score = 110; } }
在主函数中,我们创建了一个game对象和一个裁判对象,然后我们通过改变比赛分数,来观察裁判对此会有什么响应。
"C#支持事件举例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
事件
函数
C#
支持
裁判
处理
分析
例子
信号
关键
关键字
内容
分数
对象
更多
知识
比赛
实用
相同
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
python连接数据库代理
腾讯云服务器提示输入密码
内网服务器怎么测试网速
佛山医院食堂自助点餐软件开发
党建科指导软件开发
药品销售数据库毕业论文
软件开发培训机构南宁
常用的web服务器的端口号是
局域网打印机服务器
上古时代服务器
万方医学数据库如何插入论文
酷喵同步服务器失败
南邮ip网络技术基础试卷
xshell服务器
b站土豆服务器
简画图软件开发
数据库cdc同步
网络安全密匙在哪看
xk数据库拒绝访问
数据库温度
sql数据库连接vb程序
上海天翼物联软件开发做什么
c 软件开发升级怎么做
关于网络安全宣传的视频
部落冲突连接不上服务器怎么办
网络安全事件承担全部责任
陕西互动安全教育展馆软件开发
blender软件开发时间
学网络安全专业前景
肇庆app软件开发方案