Test
không phải là IDisposable
, do đó thậm chí sẽ không biên dịch. Nhưng nếu nó là dùng một lần, có using
sẽ làm điều đó, và new
tự nó sẽ không. Đây là một cách sử dụng khác thường, nhưng tôi đã thấy tương tự. Ít khi.
Dựa trên nhận xét của bạn (câu hỏi chính), tôi nghi ngờ rằng bạn đang nhầm lẫn việc thu gom và xử lý rác thải. Không có cách nào để buộc phải làm một thứ gì đó được thu thập, thiếu số GC
(bạn nên không phải làm). Trừ khi bạn có thực sự lý do chính đáng để thu thập nó, chỉ cần để cho nó được - rất có thể là nó là "thế hệ 0" và sẽ được thu thập với giá rẻ anyway.
Ngoài ra, "làm bất cứ điều gì" gợi ý làm thứ gì đó trong một hàm tạo nhưng không quan tâm đến đối tượng đã tạo; một phương pháp tĩnh sẽ thích hợp hơn:
public class Test { /* could be static */
public static void DoSomething() { ... }
}
...
Test.DoSomething();
Nguồn
2010-08-04 07:39:00
Đây có phải là theo giả định rằng 'test' thực hiện 'IDisposable'? –
Không, không. Làm thế nào để biết nếu một lớp học cần phải thực hiện nó hay không? Bạn luôn luôn làm điều đó? – Jla
Tôi * nghi ngờ * rằng bạn đang bối rối "bộ sưu tập khổng lồ" và "xử lý", là hai khái niệm có liên quan nhưng rất khác nhau. –