我可以做这个:
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();
如果我尝试同时包含两者,它会告诉我我有一个重复的方法名称。
我该如何解决这个问题?