Questions tagged «readonly-collection»

5
ReadOnlyCollection或IEnumerable用于公开成员集合?
如果调用代码仅对集合进行迭代,是否有任何理由将内部集合公开为ReadOnlyCollection而不是IEnumerable? class Bar { private ICollection<Foo> foos; // Which one is to be preferred? public IEnumerable<Foo> Foos { ... } public ReadOnlyCollection<Foo> Foos { ... } } // Calling code: foreach (var f in bar.Foos) DoSomething(f); 如我所见,IEnumerable是ReadOnlyCollection接口的子集,它不允许用户修改集合。因此,如果IEnumberable接口足够了,那就可以使用它。这是推理的正确方法,还是我错过了一些东西? 谢谢/ Erik

6
.NET 4.0中的只读列表或不可修改列表
据我所知,.NET 4.0仍然缺少只读列表。为什么框架仍然缺少此功能?这不是领域驱动设计最常见的功能之一吗? Java与C#相比具有的少数优点之一是以Collections.unmodifiablelist(list)的形式呈现的方法,在IList <T>或List <T>中似乎早该这样做了。 使用IEnumerable<T>是解决问题的最简单方法- ToList可以使用并返回副本。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.