IEnumerable<IDisposable>
特定の時点で処分する必要があるコレクションがあります。問題は、場合によっては、すべてのオブジェクトが 1 つのタイプであり、オブジェクトからデータを収集して単一の RPC 呼び出しを行うことによって、オブジェクトを破棄する必要があることです。それ以外の場合、オブジェクトは別の型になり、それぞれに対して Dispose を呼び出すだけで済みます。
私はこれを行うコードを制御しますが、実装の詳細をコードにプッシュしたくありません。
必要に応じて、このようなものに切り替えることができますが、エレガントではないようです。
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();