题
我有我试图移动到使用泛型几类
的Class1:曲线
这类具有以下代码:
public class Curve : IEnumerable
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator(); // Calls non-interface method
}
public RTRatePointEnumerator GetEnumerator()
{
return new RTRatePointEnumerator(_hash);
}
2类:
public class CurvePointEnumerator : IEnumerator
什么是这两个类的使用泛型推荐的转换
解决方案
您没有指定由枚举返回类型。但我要猜测基于它的RTRatePoint和CurvePoint名称。我想改变代码为以下
class Curve: IEnumerable<RTRatePoint> {
IEnumerator<RTRatePoint> IEnumerable<RTRatePoint>.GetEnumerator() {
return GetEnumerator();
}
public RTRatePointEnumerator GetEnumerator() {
return new RTRatePointEnumerator(_hash);
}
}
class CurvePointEnumerator : IEnumerator<CurvePoint>
这可能你绊倒的一个项目是IEnumerator的
void IDispose.Dispose() {
// Nothing to see here
}
其他提示
IEnumerable<T> and IEnumerator<T>
GAH,它吞噬我的代码
不隶属于 StackOverflow