我正在编写一个实现接口(interface) IEnumerator 的类。为了让它编译,我需要以下两种方法:
public object Current
{
get { return current; }
}
T IEnumerator<T>.Current
{
get { return current; }
}
为什么这两个都是必要的?从表面上看,似乎只需要后者。
最佳答案
那是因为 IEnumerator<T>
实现 IEnumerator
接口(interface),它是在 .NET 2.0 中引入泛型之前存在的接口(interface)的非泛型版本。因此,在实现一个接口(interface)(在您的情况下为 IEnumerator<T>
)时,您还需要实现该接口(interface)实现的所有其他接口(interface)。
关于c# - 为什么 C# 中的 IEnumerator<T> 需要两个 Current 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12453950/