看板 C_Sharp 關於我們 聯絡資訊
在學習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