作者QQ29 (我爱阿蓉)
看板C_Sharp
标题[问题] delegate的+=
时间Tue Feb 9 10:53:30 2010
在学习delegate和event时 动手练习一下
发现一个不甚理解的地方
以下有两个小程式
差异在delegate 一个摆在class内一个摆在main里面
http://nopaste.csie.org/86a98 :class内
http://nopaste.csie.org/a0101 :main里面
为什麽class内的delegate 可以使用+=
而main里面的 使用+= compile error就会跑出来
Use of unassigned local variable 'foo'
但是C#不是预设会有初值
我看了一下两个范例foo的初值都是null
为啥会造成这样呢?
因为看到event 那部分范例
加入event function都直接+=给初值
不是很了解....请教一下
ps.
cc.foo += cc.Invoke; 是不是以下那行的缩写
cc.foo += new XD.PTR(cc.Invoke);
两种都compile可过 书上也没特别说明差异
以上 thx~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.64.222