Sono di fronte a una situazione in cui sono presenti oggetti dipendenti e vorrei poter rimuovere un oggetto e tutti i riferimenti ad esso.Rimozione di elementi dagli elenchi e tutti i riferimenti a essi
Dire che ho una struttura di oggetti come il seguente codice, con un tipo Branch che fa riferimento a due nodi.
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;
}
Se rimuove un nodo dall'elenco Nodi nella classe Graph, è ancora possibile che uno o più oggetti Branch contiene ancora un riferimento al nodo rimosso, mantenendo così in memoria, mentre proprio quello che sarebbe abbastanza per impostare qualsiasi riferimento al Nodo rimosso su null e lasciare che la raccolta di dati inutili entri in gioco.
Altro che enumerare attraverso ogni Branch e controllare ogni riferimento Nodo in modo sequenziale, ci sono idee intelligenti su come rimuovo i riferimenti al nodo in ogni istanza di ramo E in effetti qualsiasi altra classe che fa riferimento al nodo rimosso?
Si stanno effettivamente memorizzando dati sul ramo? Altrimenti puoi sbarazzarti completamente di quella classe e archiviare solo i nodi relativi nella classe Node. –
Salve, Sì, sto memorizzando altri dati, la struttura dei dati sopra era solo un semplice esempio per mostrare dove sono i riferimenti del mio modello attuale. – LiamV