Это:
public List<SomeClass<T>> MyList = new List<SomeClass<T>>();
Должно быть так:
public List<T> MyList = new List<T>();
тогда это должно работать:
public IEnumerator<T> Getenumerator ()
{
foreach (var item in MyList){
yield return item;}
}
Вы не можете иметь
List<SomeClass<T>>
, для которого вы извлекаете перечислитель, потому что вы указали в интерфейсе, что перечислитель возвратит перечисляемый элемент <T>
. Вы также можете изменить IEnumerable<T>
на
IEnumerable<SomeClass<T>>
и измените перечислитель на
public IEnumerator<SomeClass<T>> Getenumerator ()
{
foreach (var item in MyList){
yield return item;}
}