when I saw the iterator on the Internet, I found it strange that the interface in C-sharp can inherit the original interface?
Link: https://referencesource.micro.
public interface IEnumerator<out T> : IDisposable, IEnumerator
{
// Returns the current element of the enumeration. The returned value is
// undefined before the first call to MoveNext and following a
// call to MoveNext that returned false. Multiple calls to
// GetCurrent with no intervening calls to MoveNext
// will return the same object.
//
/// <include file="doc\IEnumerator.uex" path="docs/doc[@for="IEnumerator.Current"]/*" />
new T Current {
get;
}
}