我有这个“Linked Web”(?)数据结构 即。每个对象都有一堆对其他对象的引用。
所以我编写了一个方法,该方法应该通过删除对它的所有引用来“删除”传递的对象。
我需要对它进行测试,并确保在我运行该方法后,我想删除的特定对象没有被其他任何东西引用
我怎么能这样做?
一个想法是强制垃圾收集,然后运行我的删除对象方法,然后强制另一个GC,看看它是否找到了一个对象。
如果它找到了一个删除对象,那么我会假设我的方法有效 但如果它没有找到任何东西可以收集,那么我会认为某些东西正在引用它并且必须堵塞那个泄漏
这可能吗?怎么样?
谢谢, 莱恩
答案 0 :(得分:4)
您可以通过WeakReference
跟踪每个对象,并在垃圾回收后检查IsAlive
属性。
答案 1 :(得分:1)
这对我来说是一种过于复杂的方式来测试你的逻辑是否正确。我将以下列方式构建几个单元测试。
您的场景中没有任何内容可以让我相信您需要利用垃圾收集来测试您的数据结构。此外,我相信您的数据结构正确地称为图形。祝你好运