目前,我有一个类(classB),它有一个列表--v
class classB
{
public List<int> alist { get; private set; }
...
我可以从另一个类(classA)访问这个类
ClassB foo = new ClassB();
foo.alist.Add(5);
问题是,我能阻止这种情况发生吗? (使其与其他类保持不变)谢谢!
最佳答案
只需公开 IReadOnlyList<T>
界面:
private List<int> alist;
public IReadOnlyList<int> Alist
{
get { return this.alist; }
}
在类内部,您继续使用“alist”来添加/删除元素。从类外部您只能访问“Alist”,它不允许修改集合(除非显式转换)。
关于c# - 使用 "private set;"阻止其他类添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489926/