我讀過一些關于在 C# Finalizer 中不應該做的事情,但我怎么也找不到鏈接。當析構函數被調用時,在擁有析構函數的類中使用引用對象是否安全?我相信這就是我正在閱讀的內容。但如果是這樣的話,析構函數就無法調用 Dispose 方法來清理非托管資源,對嗎?注意:我知道 IDisposable 和常見的實現。
1 回答

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
“規則”的基本要點是在終結器中,您只能調用具有已知活動根的對象(例如所有靜態對象)和不具有也派生自活動根的對象,除非您CriticalFinalizerObject
是CriticalFinalizerObject
那么你就不能再調用其他CriticalFinalizerObject
的了。
您自己的類中的終結器所在的大多數對象可能會禁止觸摸,因為它們不在活動根上(您的類畢竟正在被終結)并且它們不繼承自CriticalFinalizerObject
.
- 1 回答
- 0 關注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消