Dot-Net
IDisposable 對象的標準集合
我
IDisposable在查找表中有一堆對象(現在是普通的舊 Dictionary<>),但為了簡化程式碼並避免錯誤,我正在尋找一個“擁有”它所擁有的項目的集合類,並避免重新發明輪子——這樣的課程是否已經存在?規範應該是: - 收藏品必須是一次性的,並且當它被丟棄時,所有包含的物品也應該被丟棄。- 每當刪除一個項目時,它
Dispose()首先是-d。- 理想情況下,集合將是通用的,類型約束強制執行IDisposable所包含類型的 -ness。我有點懷疑這樣的課程是否存在,但我對之前的存在感到
ReadOnlyCollection驚喜ObservableCollection……本質上,我想要 C++ STL 容器的等價物,然後是 CLR ;-)。
您正在尋找CompositeDisposable。
using System.Reactive.Disposables; ... CompositeDisposable xs = new CompositeDisposable(Disposable.Empty); xs.Add(Disposable.Empty); xs.Add(Disposable.Empty); xs.Dispose();
據我所知,只有 IComponents 的此類集合存在 - Container implements IContainer。對於通用 IDisposable,我認為您別無選擇,只能“重新發明輪子”。