Est-il judicieux de définir l'objet personnalisé sur null
( Nothing
dans VB.NET) dans la méthode Dispose()
? Cela pourrait-il empêcher les fuites de mémoire ou est-il inutile?!
Prenons deux exemples:
public class Foo : IDisposable
{
private Bar bar; // standard custom .NET object
public Foo(Bar bar) {
this.bar = bar;
}
public void Dispose() {
bar = null; // any sense?
}
}
public class Foo : RichTextBox
{
// this could be also: GDI+, TCP socket, SQl Connection, other "heavy" object
private Bitmap backImage;
public Foo(Bitmap backImage) {
this.backImage = backImage;
}
protected override void Dispose(bool disposing) {
if (disposing) {
backImage = null; // any sense?
}
}
}