C# 委托如何理解 打个比喻

初学者可能会给winform窗体注册事件,也听过事件是基于委托实现的 那么,委托是什么,事件又是什么,委托和事件是什么关系。

个人喜欢做一些比喻,把这些东西想象成某一个模型,这样方便记忆,理解,随着对这个东西的理解更加深入,模型也更加抽象,更加完善。

 

家里有一些电器(双孔插头)【冰箱:制冷、 电灯:照明、洗衣机:洗衣服 、空调:吹风 。。。。。】,家里有好多个双孔插座,有一个总开关,一打开,只要插入插座的电器就可以工作。

 

现在来看一下这一整套系统的工作原理:

     电器都有一个共性:有电才能工作,有个双孔插头;电器有不同点,工作中干啥,由自己决定。

     总开关一通电他下面的所有与插入插座的电器都会通电,并按自己的实际用途工作。总开关不知道它下面的那些电器是如何工作的,也不关心他们是不是坏的,只知道供电。

但开关一开,电器都会按自己的功能进行工作。

 

这跟委托有什么关系呢?

 委托就是具体供电功能,且只能给两个插孔供电的总开关 ,他下面的第一个电器就是"勾"(连通) 到这个总开关上的 电器,总开关一开,就会给所有的电器供电,相当于委托对象

去执行Invoke 方法,而与之绑定的(主动插上插头) 方法(电器),就会干活。

 

posted @ 2016-04-27 15:37  Langu  阅读(328)  评论(0编辑  收藏  举报