"For Each" für den <Typname>-Typ ist mehrdeutig, da der Typ mehrere Instanziierungen von System.Collections.Generic.IEnumerable(Of T) implementiert

Aktualisiert: November 2007

'For Each' on type '<typename>' is ambiguous because the type implements multiple instantiations of 'System.Collections.Generic.IEnumerable(Of T)'

In einer For Each-Anweisung wird eine Iteratorvariable angegeben, die über mehrere GetEnumerator-Methoden verfügt.

Die Iteratorvariable muss von einem Typ sein, der die System.Collections.IEnumerable-Schnittstelle oder die System.Collections.Generic.IEnumerable<T>-Schnittstelle in einem der Collections-Namespaces von .NET Framework implementiert. Eine Klasse kann mehrere erstellte generische Schnittstellen implementieren, wenn für jede erstellte Schnittstelle ein anderes Typargument verwendet wird. Wenn eine Klasse, auf die diese Bedingungen zutreffen, für die Iteratorvariable verwendet wird, verfügt diese Variable über mehrere GetEnumerator-Methoden. In solch einem Fall kann Visual Basic nicht bestimmen, welche Methode aufgerufen werden soll.

Fehler-ID: BC32096

So beheben Sie diesen Fehler

  • Verwenden Sie DirectCast oder TryCast, um den Typ der Iteratorvariablen in die Schnittstelle umzuwandeln, die die zu verwendende GetEnumerator-Methode definiert.

Siehe auch

Konzepte

Beispiele zur Implementierung von Schnittstellen in Visual Basic

Referenz

For Each...Next-Anweisung (Visual Basic)