zusammenstecken Ich habe eine IEnumerable<IDisposable>
Sammlung, die ich an einem bestimmten Punkt entsorgen muss. Das Problem besteht darin, dass in einigen Fällen alle Objekte von einem Typ sind und die Entsorgung der Objekte durch Sammlung einiger Daten von ihnen und durch einen einzigen RPC-Aufruf erfolgen muss. In anderen Fällen sind die Objekte von einem anderen Typ und ich muss nur Dispose für jeden von ihnen aufrufen.wie man ein IEnumerable <IDisposable>
Ich kontrolliere den Code dabei, aber ich würde lieber nicht Implementierungsdetails hineinschieben.
Wenn ich muss kann ich zu etwas wie diesem wechseln, aber es scheint unelegant.
with(var rpc = new RPCDisposer())
{
foreach (var item in Items)
{
rpc.Add(item);
item.Dispose();
}
}
Edit: die Liste (vorerst) nur einen Typ enthalten oder die andere, nie beide. Aber ich würde lieber der Dispose Code nicht über die RPC-Sachen zu bekannten habe überhaupt, ei:
foreach (var item in Items)
item.Dispose();
Was Sie gebucht haben ist wirklich nicht so schlimm eine Lösung. Ich denke, du suchst nach etwas, das einfach nicht da ist, um ehrlich zu sein. Gehen Sie mit Ihrer anfänglichen Lösung und verwenden Sie möglicherweise LINQ, um es zu vereinfachen, aber das ist alles. – Noldorin
Ich hätte das halb erwartet, aber ich hoffte nur auf etwas Besseres. – BCS