Wie bekommt bzw. löscht man alle Referenzen auf ein Objekt.

16/10/2009 - 17:23 von Stefan Borst | Report spam
Hallo liebe .NET Gemeinde,

ich würde gerne alle Referenzen auf ein Objekt löschen, also zuerst ein mal
alle Referenzen holen und diese dann löschen. Das könnte dann irgend wie so
aussehen:

public bool deleteAllReferences(object obj)
{
alleReferenzen = holeAlleReferenzen(obj);
foreach(referenz in alleReferenzen)
{
löscheReferenz(referenz);
}
retrun true;
}

Der GarbageCollector muesste dieses Wissen haben, aber wie komme ich daran?

Vielen Dank und Viele Gruesse

Stefan
 

Lesen sie die antworten

#1 Armin Zingler
16/10/2009 - 18:24 | Warnen spam
Stefan Borst schrieb:
Hallo liebe .NET Gemeinde,

ich würde gerne alle Referenzen auf ein Objekt löschen, also zuerst ein mal
alle Referenzen holen und diese dann löschen. Das könnte dann irgend wie so
aussehen:

public bool deleteAllReferences(object obj)
{
alleReferenzen = holeAlleReferenzen(obj);
foreach(referenz in alleReferenzen)
{
löscheReferenz(referenz);
}
retrun true;
}

Der GarbageCollector muesste dieses Wissen haben, aber wie komme ich daran?



Warum? Lösche doch dort jeweils die Referenz, wo du sie nicht mehr brauchst.
Dann wird das Objekt automatisch nur noch dort referenziert, wo es gebraucht
wird. Und wenn es gebraucht wird, müssen und dürfen auch keine Referenzen
gelöscht werden.

Die Referenzen können ja überall stecken, in lokalen Variablen oder in Feldern.
Sie einfach auf Nothing (Null) zu setzen wàre fatal.


Armin

Ähnliche fragen