提问者:小点点

为什么idictionary<tkey,tvalue>同时实现ICollection和IEnumerable


我查看了为IDictionary接口生成的元数据,注意到它实现了

public interface IDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable

这不是多余的吗?查看icollection的元数据,可以发现它已经实现了IEnumerable、IEnumerable


共1个答案

匿名用户

元数据显示了所有已实现的接口,特别是通过继承获得的接口。如果您查看IDictionary的引用源,您会看到实际实现只实现icollection>:

public interface IDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>