我有一些 IDisposable
对象存储在一个查找表中(目前使用的是普通的 Dictionary<>),但为了简化代码和避免错误,我正在寻找拥有其所持有的项目的集合类,并且为了避免重复造轮子 - 是否已经存在这样的类?
规格应该是:
- 集合必须是可释放的,当它被释放时,所有包含的项目也应该被释放。
- 每当删除项时,应该先进行 Dispose()
。
- 理想情况下,集合应该是泛型的,并通过类型约束强制实施所包含的类型的 IDisposable
。
我有点怀疑是否存在这样的类,但以前我对 ReadOnlyCollection
和 ObservableCollection
的存在感到惊喜......
本质上,我想要与 C++ STL 容器等效的东西,但适用于 CLR ;-).