【发布时间】:2010-11-12 07:51:54
【问题描述】:
我在查找表中有一堆IDisposable 对象(现在是普通的旧字典),但为了简化代码并避免错误,我正在寻找一个“拥有”它拥有的项目,并避免重新发明轮子 - 这样的类是否已经存在?
规范应该是:
- 收藏品必须是一次性的,当它被丢弃时,所有包含的物品也应该被丢弃。
- 每当删除一个项目时,它首先是Dispose()-d。
- 理想情况下,集合将是通用的,类型约束强制执行所包含类型的IDisposable-ness。
我有点怀疑这样的课程是否存在,但我一直对 ReadOnlyCollection 和 ObservableCollection 之前的存在感到惊喜......
基本上,我想要 C++ STL 容器的等价物,然后是 CLR ;-)。
【问题讨论】:
-
已经有一段时间了。您是否制作了 IDisposableCollection?我也可以用。
-
否;我最终包装了集合并只公开了我实际需要的(非常)少数方法 - 添加/获取/删除 - 以及我从事的特定工作的一些额外功能(大量文件系统观察者)。
标签: .net collections idisposable