Chương 4: XÂY DỰNG LỚP ĐỐI TƯỢNG
4.4.4 Câu lệnh using
Khi xây dựng các đối tượng chúng ta không thể chắc chắn được rằng người sử dụng có thể gọi hàm Dispose(). Và cũng không kiểm soát được lúc nào thì bộ thu dọn GC thực hiện việc dọn dẹp. Do đó để cung cấp khả năng mạnh hơn để kiểm soát việc giải phóng tài nguyên thì C# đưa ra cú pháp chỉ dẫn using, cú pháp này
đảm bảo phương thức Dispose() sẽ được gọi sớm nhất có thể được. Ý tưởng là khai báo các đối tượng với cú pháp using và sau đó tạo một phạm vi hoạt động cho các đối tượng này trong khối được bao bởi dấu ({}). Khi khối phạm vi này kết thúc, thì phương thức Dispose() của đối tượng sẽ được gọi một cách tự động.
Ví dụ 4.6: Sử dụng chỉ dẫn using.
--- using System.Drawing;
class Tester {
public static void Main() {
using ( Font Afont = new Font(“Arial”,10.0f)) {
// Đoạn mã sử dụng AFont ...
}// Trình biên dịch sẽ gọi Dispose để giải phóng AFont Font TFont = new Font(“Tahoma”,12.0f);
using (TFont) {
// Đoạn mã sử dụng TFont ...
}// Trình biên dịch gọi Dispose để giải phóng TFont }
}
---
Trong phần khai báo đầu của ví dụ thì đối tượng Font được khai báo bên trong câu lệnh using. Khi câu lệnh using kết thúc, thì phương thức Dispose của đối tượng Font sẽ được gọi.
Còn trong phần khai báo thứ hai, một đối tượng Font được tạo bên ngoài câu lệnh using. Khi quyết định dùng đối tượng này ta đặt nó vào câu lệnh using. Và cũng tương tự như trên khi khối câu lệnh using thực hiện xong thì phương thức Dispose() của font được gọi.