Tôi đang tạo một điều khiển người dùng .NET. Tôi có cần triển khai giao diện IDisposable
cho Điều khiển người dùng của mình không?Tôi có nên triển khai IDisposable cho User Control không?
Trả lời
Control
đã thực hiện IDisposable
Bạn chỉ cần ghi đè thực hiện nếu bạn cần phải vứt bỏ một số tài nguyên không được quản lý.
Vì vậy, câu trả lời đơn giản: không, có thể không phải là.
Chỉ khi bạn có tài nguyên bên ngoài cần được phát hành nhanh chóng. Nếu không, các tài nguyên đó có thể được giữ lại miễn là đối tượng vẫn không bị thu thập, và có thể lâu hơn.
Thực ra, Kiểm soát đã triển khai IDisposable. Việc triển khai cơ sở thường được tạo trong tệp .Designer.cs nếu bạn đã thực hiện bất kỳ loại tự động tạo điều khiển nào bằng cách sử dụng Visual Studio. Bạn chỉ cần thêm vào việc triển khai cơ sở nếu cần.
Đô thị này có virtual Dispose method có cờ boolean. Nếu True thì Dispose được gọi qua giao diện. Nếu sai, thì Dispose được gọi thông qua finalizer.
- 1. Tôi có nên triển khai IDisposable tại đây không?
- 2. Tôi có nên triển khai onRetainNonConfigurationInstance không?
- 3. ClientBase không triển khai thành viên IDisposable
- 4. Window vs User Control
- 5. VB.NET - Một phương thức hoàn thiện có nên được bổ sung khi triển khai IDisposable không?
- 6. System.ServiceModel.ServiceHost triển khai IDisposable nhưng Dispose không công khai
- 7. Có danh sách đối tượng chung nào triển khai IDisposable cho câu lệnh sử dụng không?
- 8. Triển khai IDisposable cho lớp chứa chủ đề
- 9. Tại sao Enumerable.Range triển khai IDisposable?
- 10. Việc triển khai IDisposable.Dispose() có nên là idempotent không?
- 11. Khi nào tôi nên triển khai __call__
- 12. DataContext của WPF User Control là Null
- 13. Tôi nên triển khai MVC Bootstrapper cho Unity và AutoMapper như thế nào?
- 14. Xử lý sự kiện của WPF User Control
- 15. Lớp này triển khai IDisposable như thế nào nếu nó không có phương thức Vứt bỏ?
- 16. Tôi có phải triển khai IDisposable trên tất cả các lớp hay là lớp cơ sở đủ không?
- 17. Tôi có nên triển khai xác thực OpenID không? Người dùng Mỹ/Nhật Bản
- 18. Khai báo IDisposable cho lớp hoặc giao diện?
- 19. Tôi có nên sử dụng git để triển khai các trang web không?
- 20. Tôi có nên triển khai Hộp thoại Tệp là Singleton không?
- 21. Khi triển khai cờ dòng lệnh, tôi có nên thêm tiền tố (/) hoặc dấu nối (-) không?
- 22. Tôi có nên sử dụng từ khóa tự (thuộc tính) trong quá trình triển khai không?
- 23. Có triển khai Erlang cho Android không?
- 24. Có triển khai cho SqlGeometryBuilder không?
- 25. Có triển khai "getopt" cho Delphi không?
- 26. Tôi có nên sử dụng Git để triển khai ứng dụng web không?
- 27. Tôi có nên biên dịch trước các trang ASP.NET 2.0 trước khi triển khai hay không?
- 28. chức năng javascript bên trong ASP.NET User Control
- 29. Visual Studio có thể cảnh báo tôi khi tôi quên bỏ một đối tượng IDisposable không?
- 30. Kiểm tra đối tượng triển khai IDisposable nhưng không được xử lý đúng cách