C# 从IEnumerator到泛型。

C# 从IEnumerator到泛型。,c#,generics,ienumerable,C#,Generics,Ienumerable,我有几个类,我正在尝试使用泛型 类别1:曲线 此类具有以下代码: public class Curve : IEnumerable IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); // Calls non-interface method } public RTRatePointEnumerator GetEnumerator() { retur

我有几个类,我正在尝试使用泛型

类别1:曲线

此类具有以下代码:

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
建议将这两个类转换为使用泛型

IEnumerable和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>

我应该在这里的dispose方法中添加什么。除非您实际拥有终结器,否则不需要调用SuppressFinalize。
void IDispose.Dispose() {
  // Nothing to see here
}