5. 實現IEnumerable<KeyValuePair<TKey, TValue>>接口
我們先來看看ReversibleSortedList類的定義:
public class ReversibleSortedList<TKey, TValue> :
IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>,
IEnumerable<KeyValuePair<TKey, TValue>>, IDictionary, ICollection, IEnumerable
它一共實現了6個接口。但從本質上來說,實現IDictionary<TKey, TValue>接口和IDictionary接口就等同於實現了以上6個接口。因為 IDictionary<TKey, TValue>繼承自 ICollection<KeyValuePair<TKey, TValue>>和 IEnumerable<KeyValuePair<TKey, TValue>>接口,而IDictionary 接口繼承自ICollection和IEnumerable接口。下面我們來看一下這些接口的關系 圖: