Mei*_*hes 24
作为.NET 4.5的(可以说)正确的方法是使用现在IReadOnlyList<T>,从派生IReadOnlyCollection<T>,它从派生IEnumerable<T>
IReadOnlyList<T> 给你索引器IReadOnlyCollection<T> 为您提供集合Count属性. IEnumerable<T> 为您提供集合枚举器. 它尽可能轻盈.
直接实现的核心类IReadOnlyList:
Luc*_*ero 12
IList<> (假设您希望保持通用)是包含索引器的唯一接口.
但是,您可以只显式实现并抛出NotSupportedException您不想支持的所有操作,或者仅实现IEnumerable<>并将其余操作仅限于类,而不是在接口中.