C# 事件 和方法调用有什么区别呀

事件是不是在代码的某一个地方调用了委托,执行委托的方法。为什么不直接在要调用事件的地方调用方法呢?... 事件是不是在代码的某一个地方调用了委托,执行委托的方法。 为什么不直接在要调用事件的地方调用方法呢? 展开
 我来答
msjsp
推荐于2017-11-24 · TA获得超过331个赞
知道答主
回答量:70
采纳率:0%
帮助的人:79.4万
展开全部
一楼正解、我一个事件放在那边,触发这个事件后,有注册本事件的客户代码才做对应处理,没有的话就不需要。这样对于客户代码来说,需要这个事件,我就注册一下,不需要我就解除。就这么简单。LZ你现在碰到的情况大概是客户代码很少,可能只有一个需要注册事件,所以你觉得没必要用事件。但是如果客户代码多了的话。事件就很有用了。
举个例子,假设当狗叫的时候,王大妈就要去看看菜有没有被偷了,那么本例中,“狗叫”就相当于事件,“王大妈”就是客户代码。“看看菜是否被偷”就是事件处理回调(callback)、那楼主你是不是认为,当狗叫的时候,直接调用 【王大妈.看看菜被偷了没();】就可以了?因为这边只有王大妈需要知道“狗有没有叫”这条信息,没有其他人需要知道了,但如果有很多人需要在狗叫的时候做对应的事情,你就必须在“狗叫”的时候写上一堆堆的客户调用代码了。【一大爷.看看鸡被偷了没();】【二大爷.看看饭煮好了没();】... 一堆堆。这样,就变成了狗叫到时候,这些人必须做这些事情了。反之,如果王大妈,一大爷,二大爷都只是注册“狗叫”这个事件的话,那么他们可以随时解除事件关联,也就是说,狗照样叫,但这些大妈大爷们是否需要做他们的事情,是他们自己决定的。。。。。哎,就是这么个说明。不知道你看不看得懂啊。。坑爹了。。。
百度网友bf6189278
2011-11-23 · TA获得超过181个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:203万
展开全部
有点类似发布订阅模式,是否要执行委托方法、执行什么样的方法由客户代码负责,这样可以动态地添加、修改响应内容而不用修改调用事件的地方,否则需要用继函(不好)+虚函数,或者用函数指针(C#有吗,跟委托是一码事)。
整点专业的叫松耦合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
獨_孤_求_敗
2011-11-23 · 超过18用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:38.2万
展开全部
事件发生在方法的前面,像单击事件一样,方法是事件发生後的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neu_bao
2011-11-23 · TA获得超过356个赞
知道小有建树答主
回答量:584
采纳率:0%
帮助的人:466万
展开全部
你更应该问问时间和委托有什么区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
友雅唱Q9
2011-11-23 · TA获得超过177个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:86.2万
展开全部
假设有人写好了一个类,并编译成了dll文件,当你使用这个类时要怎样写事件呢
呵呵,能想明白吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式