天天看点

将不确定变成确定~我想监视我的对象,如果是某个值,就叫另一些方法自动运行

名称有点饶,不是很好理解,但我喜欢这种大白话,不喜欢书所翻译过来的话,呵呵!

今天要把一个不确定的问题解决,问题是:一个程序中,有一个属性,如果它为true时,我希望把另一些方法自动运行,这是可以通过订阅事件来实现的,对吗?经过我的测试确实是这样的,呵呵。

事件一个一直叫我们头痛的话题,一个能不用就不用的东西,我们程序员为什么那么怕“事件”呢?我来分析几个原因

1 对本身的概念不是很理解

2 对它的作用不是很清晰,可能书上说不到点上,个人认为

3 平时用的少,所以对它更加陌生

今天,我就和大家一起再学习一个C#的事件

一说事件,就不行不说委托,这两者到底是什么关系呢,在我看来,委托就是一个类,而事件就是这个类的一个实例,呵呵,这样大家就容易理解了吧

事件由事件数据源,事件所发生的类和事件订阅者们组成,“事件订阅者们”就是说,一个事件可以被多个订阅都订阅。

开始写代码了,代码最能说明问题:

事件源类:

一都是以EventArgs 结尾的,其中EventArgs 本身它是所有事件源类的基类,它不提供任何事件源信息,如果有个性化的事件信息,需要去派生它

接下来看,发生事件的类,我们的事件就在这里发生,在什么时候,什么情况下发生,都来自这里。

这里订阅事件时,我们使用+=就可以了,事实上就是建立一个委托类型的新事件实例而以。

祝您晚——来个好梦吧!

继续阅读