При использовании типа как коллекции в предложении foreach
тип должен иметь метод GetEnumerator
, который возвращает объект с функцией MoveNext
с логическим результатом и свойством Current
. Обычно это реализуется путем реализации IEnumerable. Однако это не требуется.
В С#, GetEnumerator
должен быть определен в самом типе коллекции.
В Vb.Net допускается дооснащение GetEnumerator
с помощью методов расширения.
Почему не в С#?
Найдено путем переопределения классов .NET tuple в Vb.NET сначала и переведите на С# позже.
Пример кода: https://github.com/nicenemo/Noaber?files=1