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...