การใช้งาน IDisposable
- เราสามารถใช้งานตรงๆ ได้โดยการ Implements (Inheritance Hierarchy) ไป Class ที่เราใช้งาน
using System;
class BaseClass : IDisposable
{
public void Dispose()
{
Dispose(true);
}
- การใช้บล็อก using() {....} เมื่อให้ Dispose() ทำงานเองเมื่อจบการทำงาน
using (StreamReader sr = new StreamReader(filename)) {
txt = sr.ReadToEnd();
}
// เมื่อสิ้นสุดตัวแปร sr จะถูกทำลาย
- การใช้บล๊อก try/catch/finally
StreamReader sr = null;
try {
sr = new StreamReader(filename);
txt = sr.ReadToEnd();
}
finally {
if (sr != null) sr.Dispose();
}
Credit: IDisposable Interface
ไม่มีความคิดเห็น:
แสดงความคิดเห็น