C#从SortedList继承

问题描述

我想问一下如何从排序列表中正确继承类:

public class Plates : SortedList<string,Plate> {
}

上面的代码不会给我错误,我很困惑,因为要继承Enumerable,我需要添加其他方法来枚举元素。

有人可以告诉我如何正确添加排序列表的索引并添加方法吗?

我应该编写类似于以下代码的smth来将Plate对象存储在此类中。除了继承IEnumerable之外,我真的没有太多经验。

public class Plates : SortedList<string,Plate> {
    SortedList<string,Plate> plateList = new  SortedList<string,Plate>();
}

解决方法

如果您要覆盖和处理“已排序”列表上的操作,我建议您使用组合而不是继承:

public class Plates: : IEnumerable<System.Collections.Generic.KeyValuePair<string,Plate>> {
    private SortedList<string,Plate> st;
}

这将迫使您实施IEnumerable方法并使用所需的SortedList功能取消实施。

如前所述,如果继承了类,则它们(如果不是abstract)不会强迫您实现任何东西。