来自mscorlib.dll:
List<T>
为什么ICollection<T>, IEnumerable<T>, IEnumerable,
必须明确地从IList<T>
派生而来源ICollection<T>, IEnumerable<T>, IEnumerable
,而{{1}}来自{{1}}?
答案 0 :(得分:5)
不要相信反编译代码是原始源代码的准确表示。
public class List<T> : IList<T>, System.Collections.IList, IReadOnlyList<T>
是的,你是对的,List<T>
不需要明确地从ICollection<T>
和其他人那里得到。事实并非如此。
答案 1 :(得分:3)
对象浏览器或Reflector或其他类似物品没有源代码,它们具有可供使用的元数据。如果一个类型直接实现了一个接口,那么检查该信息并不容易,因此最简单的选择,因为最终目标是文档,即使有些冗余,也只是显示所有接口。
有关详情,请参阅this。