[問題] delegate的+=

看板C_Sharp作者 (我愛阿蓉)時間16年前 (2010/02/09 10:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
在學習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
文章代碼(AID): #1BSCuijm (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1BSCuijm (C_Sharp)