Rozhraní
IDisposable slouží k uvolnění “unmanaged” zdrojů. Nejčastěji to jsou různé objekty z Win32API (otevřené soubory, síťové spojení, GDI objekty, paměťové bloky, atd.) Autor třídy nám implementací rozhraní
IDisposable dává najevo, že je přinejmenším vhodné uvolnit její zdroje voláním metody
Dispose co nejdříve jakmile je to možné a nenechat tuto odpovědnost až na garbage collectoru. Garbage collector je totiž optimalizovaný hlavně na paměťové zdroje, u kterých lze pozdržet uvolnění natolik, že to u jiných zdrojů může způsobit zablokování přístupu k těmto zdrojům na zbytečně dlouhou dobu (databázové transakce, otevřené soubory) nebo jejich fatální vyčerpání (GDI objekty).
more...