Referenzen erkennen

25/02/2008 - 00:11 von Gottfried Lesigang | Report spam
Hi NG!

Ich verwende in einer Anwendung einen Elemente-Cache. Statt mit "new" eine
Instanz zu bilden, wird eine Referenz auf das Element im Cache benutzt.

Nun stellt sich die Frage, diesen Cache ab und zu "aufzuràumen". Ich möchte
also Elemente, die zurzeit nicht benutzt werden, entfernen.

Gibt es einen Weg herauszufinden, ob eine Variable (außer der Referenz im
Cache natürlich!) irgendwo referenziert ist?

Da ich die Referenzen über Get-Methoden hole, könnte ich selbst einen
Zàhler verwalten, aber das birgt gehörig Fehlerpotential...

Ein anderer Weg wàre ein Disposing-Event, dann müsste aber jeder, der mit
diesem Element arbeitet, dieses Event auch abbonieren...

Gibt es dazu irgendeine Idee?

TIA
Gottfried


Home: www.develes.net
Mail: gol@develes.net
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
25/02/2008 - 00:47 | Warnen spam
"Gottfried Lesigang" schrieb:
Ich verwende in einer Anwendung einen Elemente-Cache. Statt mit "new" eine
Instanz zu bilden, wird eine Referenz auf das Element im Cache benutzt.

Nun stellt sich die Frage, diesen Cache ab und zu "aufzuràumen". Ich
möchte
also Elemente, die zurzeit nicht benutzt werden, entfernen.

Gibt es einen Weg herauszufinden, ob eine Variable (außer der Referenz im
Cache natürlich!) irgendwo referenziert ist



Nein. Vielleicht ist die Klasse 'WeakReference' für Dich interessant und
ausreichend.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen