IReadOnlyCollection 接口
表示一个强类型的、只读的元素的集合
此接口没有定义集合操作的Add方法、索引器因此无法对集合元素进行增加和修改。
常见的List、Dictionary、Queue、Stack都实现了此接口
使用IReadOnlyCollection实现集合的只读
public class ReadonlyCollectionDemo
{
private readonly List<int> _items = new List<int>();
public IReadOnlyCollection<int> items => _items;
public void AddItem(int item)
{
_items.Add(item);
}
}
以上只读集合类型属性的实现,体现了接口隔离原则:客户端不应该被强迫依赖它不需要的接口,客户端(调用者)针对IReadOnlyCollection