CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 632

632
Chương 16: Các giao diện và mẫu thông dụng

// phương thức Dispose của các thành viên dữ liệu

// được-quản-lý có hiện thực giao diện IDisposable.

// §

}

// Giải phóng tất cả các tài nguyên không-được-quản-lý

// và thiết lập giá trị của các thành viên dữ liệu

// được-quản-lý thành null.

// Close(resourceHandle);

}

// Báo rằng đối tượng này đã bị hủy.

isDisposed = true;

}

// Trước khi thực thi bất kỳ chức năng nào, bảo đảm rằng

// Dispose chưa được thực thi trên đối tượng.

public void SomeMethod() {

// Ném một ngoại lệ nếu đối tượng đã bị hủy.

if (isDisposed) {

throw new ObjectDisposedException("DisposeExample");

}

// Thực thi chức năng của phương thức...

// §

}

public static void Main() {

// Lệnh using bảo đảm phương thức Dispose được gọi

// cả khi ngoại lệ xảy ra.

using (DisposeExample d = new DisposeExample()) {

// Làm gì đó với d...