2

我正在编写一个实现接口 IEnumerator 的类。为了让它编译,我需要以下两种方法:

public object Current
{
    get { return current; }
}

T IEnumerator<T>.Current
{
    get { return current; }
}

为什么这两个都是必要的?从表面上看,似乎只需要后者。

4

1 回答 1

9

这是因为IEnumerator<T>实现的IEnumerator接口是在 .NET 2.0 中引入泛型之前存在的接口的非泛型版本。因此,在实现接口(IEnumerator<T>在您的情况下)时,您还需要实现该接口实现的所有其他接口。

于 2012-09-17T06:15:08.623 回答