Ich liebe WeakReference's wirklich. Aber ich wünschte, es gäbe einen Weg, der CLR zu sagen, wie viel (sagen wir auf einer Skala von 1 bis 5), wie schwach Sie die Referenz betrachten. Das wäre brillant.Warum hat .NET weder eine SoftReference noch eine WeakReference wie Java?
Java hat SoftReference, WeakReference und ich glaube auch eine dritte Art namens "Phantom-Referenz". Das sind 3 Ebenen genau dort, wo der GC einen anderen Verhaltensalgorithmus hat, wenn er entscheidet, ob das Objekt den Hacken bekommt.
Ich denke an die Unterklasse von .NET WeakReference (glücklicherweise und etwas bizzarely es ist nicht versiegelt), um eine Pseudo-SoftReference, die auf einem Ablauftimer oder etwas basiert.
Vielleicht, wenn Sie erklären, welches Problem Sie lösen möchten, erhalten Sie möglicherweise einige Antworten mit guten Lösungen. Normalerweise ist es keine gute Idee, auf dieser Granularitätsebene zu arbeiten, und eine Form des Ablaufcaches ist geeigneter, aber alles hängt von dem Problem ab. –