';系列2';不包含';GetEnumerator';
本文关键字:GetEnumerator 包含 系列 | 更新日期: 2023-09-27 17:58:19
我一定遗漏了一些非常明显的东西。这个代码再简单不过了,我不明白为什么会出现这个错误。
using System.Collections;
using System.Collections.Generic;
namespace Kent
{
public class Series2<T> : IEnumerable<T>
{
static void Test()
{
Series2<char> s2 = new Series2<char>();
s2.GetEnumerator(); //*** compile error here
}
IEnumerator IEnumerable.GetEnumerator()
{
return null;
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
return null;
}
}
}
在指示的行,我得到了这个错误:
'系列2<char>'不包含"GetEnumerator()"的定义。。。
我错过了什么?
您显式实现了接口,因此只能通过接口实例(或强制转换)访问它们:
IEnumerable<char> s2 = new Series2<char>();
s2.GetEnumerator();
或
IEnumerable s2 = new Series2<char>();
s2.GetEnumerator();
或
Series2<char> s2 = new Series2<char>();
((IEnumerable<char>)s2).GetEnumerator();
一切都会好起来的。