[問題] 使用Lambda註冊的Event最後怎麼了?

看板C_Sharp (C#)作者 (楊伯)時間11年前 (2014/03/05 16:32), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
class MyClass { static public event Action OnCall; } class Car { public void Start() { MyClass.OnCall += () => { //做一些事情 }; } } 上面只是用來說明這個問題而已 範例中,我使用Lambda再Car的instance裡面註冊了事件 但我並沒有註銷這個事件,當這Car的instance被移除了 之後這個被註冊進去的匿名函式跑哪去了? 然後當OnCall事件又發生的時候,會發生甚麼事嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.41.56

03/05 22:27, , 1F
你執行看看不就知道結果了嗎?
03/05 22:27, 1F

03/06 18:41, , 2F
GC。instance真被移除了又怎麼會觸發OnCall事件?
03/06 18:41, 2F
文章代碼(AID): #1J5k4vI2 (C_Sharp)
文章代碼(AID): #1J5k4vI2 (C_Sharp)