Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
foreach-instruktionen kan inte användas på variabler av typen "typ" eftersom den implementerar flera instansieringar av "gränssnitt", prova att casta till en specifik gränssnittsinstansiering
Typen ärver från två eller flera instanser av IEnumerator<T>, vilket innebär att det inte finns någon unik uppräkning av den typ som foreach kan användas. Ange typen av IEnumerator<T> eller använd en annan loopkonstruktion.
Exempel
Följande exempel genererar CS1640:
// CS1640.cs
using System;
using System.Collections;
using System.Collections.Generic;
public class C : IEnumerable, IEnumerable<int>, IEnumerable<string>
{
IEnumerator<int> IEnumerable<int>.GetEnumerator()
{
yield break;
}
IEnumerator<string> IEnumerable<string>.GetEnumerator()
{
yield break;
}
IEnumerator IEnumerable.GetEnumerator()
{
return (IEnumerator)((IEnumerable<string>)this).GetEnumerator();
}
}
public class Test
{
public static int Main()
{
foreach (int i in new C()){} // CS1640
// Try specifying the type of IEnumerable<T>
// foreach (int i in (IEnumerable<int>)new C()){}
return 1;
}
}