Tôi có một đối tượng đắt tiền để tạo, sử dụng một số tài nguyên không được quản lý phải được giải phóng một cách rõ ràng khi được thực hiện và vì vậy hãy triển khai IDisposable(). Tôi muốn một bộ nhớ cache ví dụ của các nguồn tài nguyên đắt tiền để chi phí tạo ra được giảm thiểu, nhưng tôi gặp khó khăn khi biết làm thế nào để đối phó với việc xử lý.Làm cách nào để quản lý các đối tượng IDisposable được lưu trong bộ nhớ cache?
Nếu các phương pháp sử dụng các đối tượng chịu trách nhiệm xử lý thì tôi kết thúc với các trường hợp được xử lý trong bộ nhớ cache, sau đó phải được tạo lại, đánh bại điểm của bộ nhớ cache. Nếu tôi không vứt bỏ các đối tượng trong các phương pháp sử dụng chúng thì chúng sẽ không bao giờ bị xử lý. Tôi nghĩ rằng tôi có thể vứt bỏ chúng khi chúng được lấy ra khỏi bộ nhớ cache, nhưng sau đó tôi có thể kết thúc xử lý một thể hiện mà vẫn đang được sử dụng bởi một phương pháp.
Có hợp lệ để chỉ cho phép chúng vượt quá phạm vi và được thu thập bởi bộ thu gom rác và giải phóng tài nguyên tại thời điểm đó không? Điều này cảm thấy sai và chống lại ý tưởng của họ đang được dùng một lần ...
Tôi về cơ bản đã kết thúc với một giải pháp đó là một lai của câu trả lời này và NoBugz. Cảm ơn –