我正在设计一些接口来ReadOnlyCollection<T>
指示这些接口的使用者只能从集合中读取。
然而,提供的集合不是一成不变的,并且会不时更改,我想知道我是否有错误的设计。a 的孩子也应该ReadOnlyCollection<T>
是不可变的吗?
我正在设计一些接口来ReadOnlyCollection<T>
指示这些接口的使用者只能从集合中读取。
然而,提供的集合不是一成不变的,并且会不时更改,我想知道我是否有错误的设计。a 的孩子也应该ReadOnlyCollection<T>
是不可变的吗?
该类ReadOnlyCollection<T>
并非旨在提供不可变集合,而是围绕可变列表的“只读”包装。但是,底层列表仍然始终是可变的,并且对列表的更改将暴露给只读集合。
如果您需要在设计中公开一个真正不可变的集合,您应该考虑使用新的 .NET不可变集合,并公开适当的不可变集合。