c# - 为什么 C# 中的 IEnumerator<T> 需要两个 Current 方法?

标签 c# oop interface

我正在编写一个实现接口(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/

相关文章:

c# - MVC 路由 : How to map two names to one action

c# - 在 MVC 4 应用程序中使用 Unity 和 Entity Framework 的最佳实践是什么

php - 将整个类作为另一个类中的参数传递

oop - 如何在类构造函数参数中动态传递窗口小部件

c# - 如何使用 xml 将内容多行转换为 html

c# - 如何从嵌套在另一个泛型类中扩展我的类?

javascript - 简化为面向对象的 JavaScript

java - IntelliJ IDEA 'class' 或 'interface' 预期

c# - 没有找到合适的方法来覆盖,但有一个方法要覆盖

iphone - 在 UITabController 中的选项卡之间切换时使用 'pushViewController' 动画