我面临的情况是,我有依赖对象,我希望能够删除一个对象和所有对它的引用。删除列表中的项目和所有对它们的引用
说我有一个像下面的代码的对象结构,引用两个节点的分支类型。
public class Node
{
// Has Some Data!
}
public class Branch
{
// Contains references to Nodes
public Node NodeA
public Node NodeB
}
public class Graph
{
public List<Node> Nodes;
public List<Branch> Branches;
}
如果我删除从图形类的节点列表中的节点,它仍然是有可能的一个或多个分公司的对象仍然包含已删除节点的引用,因此其保留在内存中,而真的是我将相当喜欢将设置为删除节点的任何引用为空,并让垃圾回收踢入。
除了枚举每个分支和检查每个节点参考顺序,有没有关于如何删除引用到每个分支实例中的节点,以及其他任何引用已删除节点的类?
你实际上是否在分支上存储任何数据?如果不是的话,你可以完全摆脱这个类,只是在Node类中存储相关的节点。 – 2010-04-27 20:48:10
嗨,是的,我正在存储一些其他数据,上面的数据结构只是一个简单的例子来显示我的实际模型的引用。 – LiamV 2010-04-27 20:51:59