【发布时间】:2014-10-18 06:55:10
【问题描述】:
说,我有这门课:
class Test
{
readonly object _child = new Object();
// ...
~Test()
{
// access _child here
// ...
}
}
当垃圾收集器调用~Test 时,_child 对象是否保证仍然存在?还是我应该先在构造函数中用GCHandle.Alloc“固定”_child?
【问题讨论】:
-
在
Test类之外的任何地方都引用了_child吗? -
@Heinzi,不,它纯粹是
Test内部的。 -
基于this question 我不认为使用
_child是安全的。_child可能在Test之前被垃圾收集。 -
好的,我刚刚做了测试:stackoverflow.com/a/25480821/2674222?
-
我认为安全性取决于您想对子对象做什么?
标签: c# .net garbage-collection finalizer