c# - 使用 "private set;"阻止其他类添加到列表

标签 c# list

目前,我有一个类(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/

相关文章:

list - 分割 Haskell 列表

c# - 如何将文件放入回收站而不是删除?

c# - MVC 网络 API,错误 : Can't bind multiple parameters

python - 遍历 python 列表

c - list - C(家庭作业)

python - Python 中两个列表列表的高效比较

c# - 保存来自不同区域的日期时间值 ASP.NET

c# - Microsoft 提供的数据提供程序类,好与坏?

c# - 如何更改 StiWebViewer 的语言和文化?

python - 随机数生成器仅打印一个数字