我在公共静态类中有以下代码:
public static class MyList
{
public static readonly SortedList<int, List<myObj>> CharList;
// ...etc.
}
..但即使使用readonly
我仍然可以将项目添加到另一个类的列表中:
MyList.CharList[100] = new List<myObj>() { new myObj(30, 30) };
或者
MyList.CharList.Add(new List<myObj>() { new myObj(30, 30) });
有没有办法在不改变 CharList 的实现的情况下使东西只读(它会破坏一些东西)?如果我必须更改实现(使其不可更改),最好的方法是什么?我需要它是 List<T, T>,所以 ReadOnlyCollection 不会做