首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

嘱托用=进行注册有什么不妥吗

2012-10-18 
委托用进行注册有什么不妥吗?一般情况下, 我们仅仅需要 一个委托方法内 有一个 方法实现即可.那么, 为什

委托用=进行注册有什么不妥吗?
一般情况下, 我们仅仅需要 一个委托方法内 有一个 方法实现即可.

那么, 为什么语法上 一般都是用 += 作为范例呢?

我很久以前测试过 = 也是可以的.

但是用 = 会有什么不好呢?

另外,'='和'+='分别 用于什么场景?

[解决办法]
=用于赋值
+=一个是实现相加后赋值,一个是定义委托,至于为什么使用+=,这是微软就这么定义的
[解决办法]
+=我的理解是实现委托链,即一个委托实现多个方法.
[解决办法]
我只说一句:所有委托都是继承自MultiCastDelegate,所以使用+=的方式进行委托的挂接。
[解决办法]
http://baike.baidu.com/view/1935199.htm#3

再看看把delegate1 声明为 public 会怎样?结果就是:在客户端可以对它进行随意的赋值等操作,严重破坏对象的封装性。
  最后,第一个方法注册用“=”,是赋值语法,因为要进行实例化,第二个方法注册则用的是“+=”。但是,不管是赋值还是注册,都是将方法绑定到委托上,除了调用时先后顺序不同,再没有任何的分别,这样不是让人觉得很别扭么?
[解决办法]
这个就跟int a=0;a+=1是一个道理
[解决办法]

探讨
我只说一句:所有委托都是继承自MultiCastDelegate,所以使用+=的方式进行委托的挂接。

热点排行