我有一個IEnumerable<IDisposable>
集合,我需要在給定點處置。問題在於,在某些情況下,所有對象都是一種類型,並且需要通過從對象收集一些數據並進行一次RPC調用來處理這些對象。在其他情況下,對象將是另一種類型,我只需要在每個對象上調用Dispose。如何結合IEnumerable <IDisposable>
我控制這樣做的代碼,但我寧可不推動實現的細節。
如果必須我可以切換到這樣的東西,但它似乎不雅。
with(var rpc = new RPCDisposer())
{
foreach (var item in Items)
{
rpc.Add(item);
item.Dispose();
}
}
編輯:列表(現在)只包含一種類型或其他的,不可能兼顧。但我寧願的Dispose代碼不必知道關於RPC的東西可言,EI:
foreach (var item in Items)
item.Dispose();
你已經張貼什麼是真正的不是那麼糟糕的解決方案。我認爲你正在尋找一些根本不存在的東西,說實話。使用您的初始解決方案,並可能使用LINQ來簡化它,但僅此而已。 – Noldorin 2009-04-25 00:01:26
我有點想當然,但只是希望有更好的東西。 – BCS 2009-04-27 17:39:06