Abgeteilt von Dispose implementieren und verwenden (IDisposable)
Hallo zusammen,
das ist ein sehr informativer Thread, aber ich hätte trotzdem noch ein paar Fragen zum Dispose =)
public class Class1 : IDisposable
{
private Class2 myClass2;
public Class1()
{
this.myClass2 = new Class2();
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
if (this.myClass2 != null)
{
this.myClass2.Dispose(disposing);
this.myClass2 = null;
}
}
}
}
public class Class2 : IDisposable
{
protected virtual void Dispose(bool disposing)
{
...
}
}
Viele Grüße
Max
zu 1:
der gc verfolgt alle referenzen. das bedeutet das du nciht manuell referenzen zu anderen objekten auf null setzen musst, damit die objekte dort freigeräumt werden können, wenn dein objekt selbst abgeräumt werden soll (also keine referenz mehr auf dein objekt vorhanden ist)
zu 2:
schau dir den code vom designer an und schau dir im reflector die basismethoden an. in kurz: die controlcollection wird in einer for-schleife disposed.