Sử dụng hàm Dispose chủ yếu để giải phóng các tài nguyên không được kiểm soát. Ngoài ra, hàm này còn được dùng để xóa phần tử trong 1 tập hợp hoặc làm cờ để báo rằng hàm Dispose() đã được gọi.
Gọi hàm Dispose
Gọi hàm Dispose thủ công
class Program
{
static void Main(string[] args)
{
var disp = new DisposableDemoClass();
disp.Dispose();
}
}
class DisposableDemoClass : IDisposable
{
public void Dispose()
{
Console.WriteLine("Dispose called!");
}
}
Sử dụng using
class Program
{
static void Main(string[] args)
{
using (var disp = new DisposableDemoClass())
{
}
}
}
class DisposableDemoClass : IDisposable
{
public void Dispose()
{
Console.WriteLine("Dispose called!");
}
}
Hàm Dispose
Ở hàm Dispose(), bạn gọi thêm phương thức GC.SuppressFinalize(this). SuppressFinalize chỉ nên được gọi bởi trong hàm Descontructor. Nó thông báo cho Bộ sưu tập rác (GC) rằng đối tượng this đã được dọn sạch hoàn toàn.
public void Dispose()
{
// Dispose of unmanaged resources.
Dispose(true);
// Suppress finalization.
GC.SuppressFinalize(this);
}
Nhận xét
Đăng nhận xét