J'ai une collection IEnumerable<IDisposable>
dont je dois disposer à un moment donné. Le problème est que, dans certains cas, tout l'objet sera d'un type et que l'élimination des objets doit être effectuée en collectant des données auprès d'eux et en effectuant un seul appel RPC. Dans d'autres cas, les objets seront d'un autre type et j'ai juste besoin d'appeler Dispose sur chacun d'entre eux.comment mettre en place un IEnumerable <IDisposable>
Je contrôle le code en faisant cela mais je préfère ne pas y insérer de détails d'implémentation.
Si je dois je peux passer à quelque chose comme ça, mais il semble inélégant.
with(var rpc = new RPCDisposer())
{
foreach (var item in Items)
{
rpc.Add(item);
item.Dispose();
}
}
Edit: la liste (pour l'instant) ne contiendra que l'un ou l'autre type, jamais les deux. Mais je préfère le code Éliminez pas à connu sur la substance RPC du tout, ei:
foreach (var item in Items)
item.Dispose();
Ce que vous avez posté est vraiment pas si mal une solution. Je pense que vous cherchez quelque chose qui n'est tout simplement pas là, pour être honnête. Aller avec votre solution initiale et éventuellement utiliser LINQ pour le simplifier, mais c'est tout. – Noldorin
Je m'attendais à moitié, mais j'espérais juste quelque chose de mieux. – BCS