In C# ist es möglich, schwachen Verweis auf Objekte zu erstellen, wie hier beschrieben:Schwache Verweise und Einweg-Objekte
In .net implementieren einige Klassen auch die IDisposable-Schnittstelle. Der Aufruf der Dispose-Methode dieser Schnittstelle wird ausgeführt, um verwaltete oder nicht verwaltete Ressourcen, auf denen aktuell festgehalten wird, manuell zu entfernen. Ein Beispiel könnte ein Bitmap-Objekt oder eine Bitmap-Klasse sein.
Wenn ich ein Objekt, das IDisposable zu einer schwachen Referenz implementiert, zuweisen, wird Dispose aufgerufen, wenn die schwache Referenz das Objekt sammelt?
Was meinst du mit „WeakReference“ seine Objekte zu sammeln? es ist nur eine schwache Referenz, d. h. das Objekt, auf das es zeigt, kann durch den Speicherbereiniger gesammelt werden. In diesem Fall gilt alles, was Sie über den Garbage Collector wissen ... – flq
Wie Frank sagte, wird das Objekt nur vom Garbage Collector gesammelt. Dies wird wiederum den Finalizer auslösen, wenn Sie einen solchen haben. Die Dispose-Methode wird jedoch niemals ausgelöst. – Steffen