【发布时间】:2012-09-17 06:14:10
【问题描述】:
我正在编写一个实现接口 IEnumerator 的类。为了让它编译,我需要以下两种方法:
public object Current
{
get { return current; }
}
T IEnumerator<T>.Current
{
get { return current; }
}
为什么这两个都是必要的?从表面上看,似乎只需要后者。
【问题讨论】:
我正在编写一个实现接口 IEnumerator 的类。为了让它编译,我需要以下两种方法:
public object Current
{
get { return current; }
}
T IEnumerator<T>.Current
{
get { return current; }
}
为什么这两个都是必要的?从表面上看,似乎只需要后者。
【问题讨论】:
这是因为IEnumerator<T> 实现了IEnumerator 接口,这是在.NET 2.0 中引入泛型之前存在的接口的非泛型版本。因此,在实现接口时(在您的情况下为IEnumerator<T>),您还需要实现该接口实现的所有其他接口。
【讨论】: