Ivane jel ovo pitanje za 1 000 000 dolara?
Mislim da je pogrešno mišljenje da metod Dispose() na nekom objektu služi za unitštavanje tog objekta.
Metod Dispose() služi za uništavanje resursa nekog objekta, ne i samog tog objekta.
Jako bitno je zanati da GC, ne zana sta je to IDisposable interfejs i samim tim ne ume da pozove metod Dispose() !!!
Kada pokušaš da zatvoris drugu formu (Form 2), metod Dispose() će biti momentalno pozvan. To može da se proveri tako što
se pretplatimo na event Disposed.
public
Form2()
{
InitializeComponent();
this.Disposed += new EventHandler(Form2_Disposed);
}
void Form2_Disposed(object sender, EventArgs e)
{
}
To samo znači da će uništavanje resursa forme f2 biti pozvano odmah, nakon što korisnim krene da zatvori formu.
To ne znači da će GC uništiti f2. To će se desiti nekad u budućnosti.
Misim da je Net. Memory Profiler koga smo tako mnogo koristili, mnooooogo pouzdaniji od TaskManager-a.