C# 类组成列表的枚举数

C# 类组成列表的枚举数,c#,c#-7.0,C#,C# 7.0,我有: 公共类MyList:IEnumerable,IEnumerable { 私有列表=新列表(); IEnumerator IEnumerable.GetEnumerator(){???} IEnumerator IEnumerable.GetEnumerator(){???} } 如何使用列表枚举器实现这些枚举器?不要让MyItem的通用IEnumerable显式: public class MyList : IEnumerable<MyItem>, IEnumerable

我有:

公共类MyList:IEnumerable,IEnumerable
{
私有列表=新列表();
IEnumerator IEnumerable.GetEnumerator(){???}
IEnumerator IEnumerable.GetEnumerator(){???}
}

如何使用列表枚举器实现这些枚举器?

不要让MyItem的通用IEnumerable显式:

public class MyList : IEnumerable<MyItem>, IEnumerable
{
   private List<MyItem> list = new List<MyItem>();

   IEnumerator IEnumerable.GetEnumerator() { ??? } 

   IEnumerator<MyItem> IEnumerable<MyItem>.GetEnumerator() { ??? }
}
公共类MyList:IEnumerable,IEnumerable
{
私有列表=新列表();
public IEnumerator GetEnumerator()=>list.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator()=>GetEnumerator();
} 

返回列表。GetEnumerator()
?这对第二个列表不起作用。你真的确定吗?为什么你认为它不会呢?“不能从迭代器返回值。使用yield return语句返回值,或者使用yield break结束迭代”应该创建一个泛型列表,比如
MyList
@VMAtm公共GetEnumerator是泛型的如果你说类设计可以是MyList,那么我倾向于同意。是的,我说的是设计
public class MyList : IEnumerable<MyItem>, IEnumerable
{
    private List<MyItem> list = new List<MyItem>();

    public IEnumerator<MyItem> GetEnumerator() => list.GetEnumerator();

    IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}