Bạn đã định nghĩa một hàm hủy trong một lớp mà bạn đang phát triển bằng cách sử dụng ngôn ngữ lập trình C#, nhưng hàm hủy không bao giờ được thực thi. Tại sao hàm hủy đã không thực thi?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
770 lượt xem
C#/.Net master

Môi trường runtime tự động gọi hàm hủy (destructor) của một lớp để giải phóng tài nguyên bị chiếm bởi các biến và phương thức của một đối tượng. Tuy nhiên, trong C#, các lập trình viên không thể kiểm soát thời gian gọi các hàm hủy, vì Garbage Collector chỉ chịu trách nhiệm giải phóng các tài nguyên được sử dụng bởi một đối tượng. Garbage Collector tự động lấy thông tin về các đối tượng không được tham chiếu từ môi trường runtime của .NET và sau đó gọi phương thức Finalize().

Mặc dù, việc ép Garbage Collector thực hiện thu gom rác và truy xuất tất cả bộ nhớ không thể truy cập được là không thích hợp, lập trình viên có thể sử dụng phương thức Collect() của lớp Garbage Collector để buộc thực thi Garbage Collector.

{{login.error}}