IDisposable对象的标准集合

Eam*_*nne 8 .net collections idisposable

IDisposable在查找表中有一堆对象(简单的旧的Dictionary <>,现在),但是为了简化代码并避免错误,我正在寻找一个"拥有"它所拥有的项目的集合类,并且避免重新发明轮子 - 这样的课程已经存在吗?

规范应该是: - 收集必须是一次性的,并且在处理时,所有包含的物品也应该被丢弃.- 每当删除一个项目时,它Dispose()首先是-d.- 理想情况下,集合是通用的,类型约束强制IDisposable包含类型的-ness.

我八九不离十怀疑这样的类存在,但我已经通过的存在感到惊喜ReadOnlyCollectionObservableCollection前...

基本上,我想要相当于C++ STL容器,但后来用于CLR ;-).

Jam*_*ore 7

您正在寻找CompositeDisposable

    using System.Reactive.Disposables;

    ...

    CompositeDisposable xs = new CompositeDisposable(Disposable.Empty);
    xs.Add(Disposable.Empty);
    xs.Add(Disposable.Empty);
    xs.Dispose();
Run Code Online (Sandbox Code Playgroud)