[C#]Effective C# Item 15: Use using and try/finally to Clean Up Resources
非拖管資源故名思義該資源是非拖管的,跟一般的托管資源不同的是,這些非拖管資源在建立後必須自行去作釋放的動作,不然會產生資源洩漏。為解決這樣的問題,在.NET BCL提供IDisposable介面,提供.NET程式非拖管資源釋放的標準做法,藉由呼叫該介面的Dispose()方法,我們可以對非拖管的系統資源進行釋放的動作。在一般狀況下,這樣的釋放動作應由使用者自行叫用,也就是說當在程式中使用實作有IDisposable介面的類別時,需記得自行呼叫Dispose()方法去釋放資源。若忘了呼叫在釋放的動作,在標準的IDisposable介面實作上也提供了額外的保險措施,會在IDisposable介面實作時為解構子加入Dispose()方法的調用。因此若使用者忘了自行呼叫Dispose()方法釋放資源,在物件解構時仍會將資源給釋放掉。 ...