问题描述
我想问一下如何从排序列表中正确继承类:
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
)不会强迫您实现任何东西。