我可以做到这一点:
public class EnumerableTest : System.Collections.IEnumerable
{
System.Collections.IEnumerable data;
public EnumerableTest(System.Collections.IEnumerable d)
{
data = d;
}
public System.Collections.IEnumerator GetEnumerator()
{
foreach (object s in data)
{
yield return s;
}
}
}
但是我不能这样做吗?
public class EnumerableTestString : System.Collections.Generic.IEnumerable<string>
{
System.Collections.Generic.IEnumerable<string> data;
public EnumerableTestString(System.Collections.Generic.IEnumerable<string> d)
{
data = d;
}
public System.Collections.Generic.IEnumerator<string> GetEnumerator()
{
foreach (string s in data)
{
yield return s;
}
}
}
我收到的错误基本上是说我缺少该方法。
public System.Collections.IEnumerator GetEnumerator();
当我将
GetEnumerator()
的返回类型更改为该类型时,它告诉我我缺少了。 public System.Collections.Generic.IEnumerator<string> GetEnumerator();
如果我尝试同时包含两者,它会告诉我存在重复的方法名称。
如何解决这个问题?