我在班级List<>
中有MyClass
类型的公共属性。它是公共的,因为MyClass
之外的代码(包括XAML绑定)需要能够访问和更改数据。但是,MyClass
之外的元素不应该做的一件事就是调用Add()
方法。向列表添加新方法的唯一方法应该是通过MyClass.MyListAdder()
方法。
有没有办法实现这个目标?
答案 0 :(得分:0)
您可以尝试切换到ReadOnlyCollection<T>
。它的API与List<T>
略有不同,但可能足以满足您的需求。
答案 1 :(得分:0)
这可能是您正在寻找的:
List<object> someList = new List<object>();
public ReadOnlyCollection<object> SomeList
{
get
{
return someList.AsReadOnly();
}
}