我有这个代码
public class SomeClass<T>: IEnumerable<T>
{
public List<SomeClass<T>> MyList = new List<SomeClass<T>>();
public IEnumerator<T> GetEnumerator()
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
如何从MyList中提取IEnumerator?
谢谢StackoverFlower ....
这个:
public List<SomeClass<T>> MyList = new List<SomeClass<T>>();
Run Code Online (Sandbox Code Playgroud)
需要这样:
public List<T> MyList = new List<T>();
Run Code Online (Sandbox Code Playgroud)
那么,这应该工作:
public IEnumerator<T> Getenumerator ()
{
foreach (var item in MyList){
yield return item;}
}
Run Code Online (Sandbox Code Playgroud)
你不能拥有
List<SomeClass<T>>
Run Code Online (Sandbox Code Playgroud)
你拉取枚举器,因为你在接口中指定枚举器将返回一个可枚举项<T>.您也可以更改IEnumerable<T>为
IEnumerable<SomeClass<T>>
Run Code Online (Sandbox Code Playgroud)
并将枚举器更改为
public IEnumerator<SomeClass<T>> Getenumerator ()
{
foreach (var item in MyList){
yield return item;}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3228 次 |
| 最近记录: |