ReadOnlyCollection <T>必须是不可变的

Aid*_*api 1 c# architecture readonly immutability

我正在设计一些接口来ReadOnlyCollection<T>表示这些接口的使用者只能从集合中读取.

然而,提供的集合不是一成不变的,并且会不时变化,我想知道我的设计是否错误.一个孩子应该ReadOnlyCollection<T>是一成不变的吗?

Ree*_*sey 7

ReadOnlyCollection<T>班是不是为了提供一个不变的集合,而是一个"只读"包裹一个可变的列表.但是,基础列表仍然是可变的,对列表的更改将暴露给只读集合.

如果需要在设计中公开真正不可变的集合,则应考虑使用新的.NET不可变集合,并公开相应的不可变集合.