Оператор For Each для типа <имяТипа> неоднозначен, поскольку тип реализует несколько экземпляров System.Collections.Generic.IEnumerable (Of T)
Обновлен: Ноябрь 2007
'For Each' on type '<typename>' is ambiguous because the type implements multiple instantiations of 'System.Collections.Generic.IEnumerable(Of T)'
Оператор For Each использует переменную-итератор, который имеет несколько методов GetEnumerator.
Переменная-итератор должна иметь тип, который реализует интерфейс System.Collections.IEnumerable или System.Collections.Generic.IEnumerable<T> из пространств имен Collections в .NET Framework. Класс может реализовывать несколько сконструированных универсальных интерфейсов, используя разные аргументы типа при каждом конструировании. Если такой класс используется для объявления переменной-итератора, то эта переменная будет содержать несколько методов GetEnumerator. В этом случае Visual Basic не сможет выбрать вызываемый метод.
Идентификатор ошибки: BC32096
Для исправления этой ошибки выполните следующие действия:
- Используйте оператор DirectCast или TryCast для приведения типа переменной-итератора к интерфейсу, в котором определен желаемый метод GetEnumerator.
См. также
Основные понятия
Примеры реализации интерфейсов в Visual Basic