- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
简单的说,微软定义了一个ReadOnlyCollectionBase
, 但没有将其用作 ReadOnlyCollection<T>
的基类当听起来很明显应该是这样的时候。
我是不是漏掉了什么?我的意思是,是否有充分的理由不将此类作为基类?
最佳答案
可能是因为它不是通用的并且实现了 ICollection
而ReadOnlyCollection<T>
是通用的并实现了 ICollection<T>
.注意 ICollection<T>
不执行 ICollection
.在那topic :
ICollection<T>
seems likeICollection
, but it’s actually a very different abstraction. We found thatICollection
was not very useful. At the same time, we did not have an abstraction that represented an read/write non-indexed collection.ICollection<T>
is such abstraction and you could say thatICollection
does not have an exact corresponding peer in the generic world;IEnumerable<T>
is the closest.
来自同一篇文章:
ReadOnlyCollection<T>
is a much betterReadOnlyCollectionBase
. It’s inSystem.Collections.ObjectModel
namespace.
实际上,ReadOnlyCollection<T>
是ReadOnlyCollectionBase
在泛型领域。
注意,类似地,IList<T>
不执行 IList
.
一般来说,前泛型类不能用作泛型类的有用抽象(IEnumerable
除外)。
关于C#:微软为什么不让 ReadOnlyCollection<T> 继承自 ReadOnlyCollectionBase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6430498/
简单的说,微软定义了一个ReadOnlyCollectionBase , 但没有将其用作 ReadOnlyCollection 的基类当听起来很明显应该是这样的时候。 我是不是漏掉了什么?我的意思是,
我是一名优秀的程序员,十分优秀!