[問題] CallBack function 的疑惑

看板C_Sharp作者 (我愛阿蓉)時間15年前 (2010/11/19 01:49), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
最近寫C#遇到一個情況 假如我有個public class Foo{ void OnCompleteCallBack(object sender, EventArg e) {...} } 我在某local的scope下寫 { Foo f = new Foo(); SaveFile(f.CallBack); // f = null; } 離開這scope了 SaveFile裡面其實會馬上開一個Thread 做存檔 但是可能會花個10秒 這時我要是f遭到GC 會不會造成SaveFile裡面存完檔案trigger我的function 無效 甚至造成很嚴重的問題呢??? 我如果把f = null;打開 應該會更快的做GC吧? 我這邊觀念不是很清楚.... 他callback會不會回不來@@ 請教各位 感激~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.70.221

11/19 05:24, , 1F
執行個體只要還在用就不會被CLR回收
11/19 05:24, 1F

11/19 17:35, , 2F
印象中即便f=null也不會加速GC的時間,只要f在SafeFile內被
11/19 17:35, 2F

11/19 17:35, , 3F
reference就不會被回收
11/19 17:35, 3F
文章代碼(AID): #1CvMSn8p (C_Sharp)