博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#事件-什么是事件
阅读量:6950 次
发布时间:2019-06-27

本文共 905 字,大约阅读时间需要 3 分钟。

每天,我们的身边都在发生各种各样的新闻和事件,有让人不快的事件:跟女朋友分手了,国足又输了,飞机失事了,海地地震了……也有幸运的事件:考试拿了个高分,申雪赵宏博拿到冠军了……等等。

什么是事件?

这个问题曾经让我十分困扰,在《C#高级编程第6版》中,对事件是这样说的:事件表示C#中已定义的一个对象,即处理通知过程的对象。可是这样说未免抽象,对于像我这样的初学者往往还是难以理解。而我的理解是,事件是处理事件的对象感兴趣的,能够感知或捕获到一种事物状态的改变。说白了,事件即改变。哲学上说,事物的运动是永恒的,静止是相对的。永恒的运动意味着事物本身在发生着改变,所以无时无刻,我们生活的这个世界和宇宙都有无穷的改变在发生,但是,这当中的绝大多数对你来说并不是事件,秘鲁总统死了,对秘鲁全国所有的人来说或许是一个事件,因为他们关心,可是对课堂正在听课全然不知的你来说就不是,除非你听到了这样一个新闻,开始关注,那么这个变化对你来说就是一个事件。所以,在这所有的变化中,你能捕获到的,感兴趣的变化,对你来说,就是一个事件。

那么,把事件这个概念放到程序设计中,又是怎样的呢?其实是一样的。同样的道理,只要机器开着,里面的硬件和软件就会发生状态的改变。可是对你要编写的代码来讲,并不是所有的这些改变都是事件。你所需要的事件,只是你对这些变化中感兴趣的极小一部分。你只需要找到你感兴趣的这样一种状态的改变,并且能够捕获它,就可以利用事件处理模型来完成你想做的事情了。

事件,其实是一个消息,WINDOWS 系统是消息驱动的,在C#中称为事件,C#中处理事件是通过委托完成,必须先理解委托才能更好的理解事件。事件是一个特殊的委托类。

一个事件例如Click事件,要执行的话,本质就是执行一个方法(也就是一个函数),C#是通过定义委托来间接调用方法的,所以,定义事件的时候一定要先定义好委托,我们之所以能直接书写控件(例如按钮)的Click方法,是因为vs已经将这些常用控件的事件和委托定义好了,所以我们直接写Click事件的方法就行了。

如果我们自己定义事件,就必须同时定义好这个事件使用的委托,然后书写委托调用的方法。

转载地址:http://nekil.baihongyu.com/

你可能感兴趣的文章
假如在1996年,微软、IBM、苹果你会投资谁?
查看>>
国网四川电力应用大数据服务经济社会发展
查看>>
杭州云栖大会10月起航,这里有一份最全的大会剧透
查看>>
雅虎卖身不影响梅耶尔赚钱 她总薪酬2.2亿美元
查看>>
Win10周年升级新增52000个emoji表情
查看>>
大数据降噪方法论
查看>>
衰退的爱立信,进击的华为
查看>>
索尼工厂被迫停止生产,日本地震带来的冲击可能不止于此
查看>>
独角兽复活:Twilio上市预示IPO市场起死回生
查看>>
数据中心运维管理经验39条
查看>>
安防的未来五年 如何把握机遇深耕市场?
查看>>
如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017
查看>>
Wework的线上社交,能否支撑其169亿估值?
查看>>
印度SaaS创企Whatfix获370万美元A轮融资
查看>>
征信考量社交化和大数据化
查看>>
虚拟仪器技术的飞跃是测试行业转折点
查看>>
SD-WAN+物联网:让城市更智慧
查看>>
最适合数据分析师的数据库为什么不是MySQL?
查看>>
携手英特尔,百度开放云将提供更强悍云服务
查看>>
用于物联网数据收集和传输的边缘网络密钥
查看>>