是否有一个.NET集合接口阻止添加对象? [英] Is there a .NET collection interface that prevents adding objects?
本文介绍了是否有一个.NET集合接口阻止添加对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类维护另一个类的对象列表。对象列表是一个公共属性。我想阻止用户直接添加和删除对象到列表,像这样:
MyObject.MyListProperty.Add(object);
而是我希望他们使用方法在内部做一些处理,然后添加对象到列表。 / p>
我有一些想法:
- 创建
< T>
并覆盖添加和删除 - 通过属性getter返回列表的新副本(列表相对较短,不超过30个对象) >
有没有添加和删除的收集界面?
编辑:
我将使用 ReadOnlyCollection< T& code>。原因是包装的集合可以更新,并且更改将立即在只读对象中可见(请参阅
ReadOnlyCollection< T>
和 AsReadOnly()
)。这允许只创建一次只读列表。
IEnumerable
的问题是对象可以回复到原始 List< T>