如何在运行时检查应用程序当前是否正在使用某个对象,或者是否已对其进行了垃圾回收?

时间:2012-09-04 19:22:31

标签: c# garbage-collection dispose object-reference

这个问题几乎说明了一切。在我的代码中的某处,我使用ObjectX关键字实例化了一个对象new。现在ObjectX在内存和其他资源方面是一个昂贵的。我需要一种方法来在运行时检查ObjectX当前是否存在并且正在被应用程序使用,或者是否已被垃圾收集。
任何使用对象引用的尝试都会使对象被使用。那怎么办?

1 个答案:

答案 0 :(得分:3)

好吧,你可以保留一个WeakReference。这不会阻止它被垃圾收集,你可以用IsAlive检查它的“活跃度”。

如果你需要这种东西,通常会有一点设计气味。 为什么您需要执行此检查吗?