Compilerfehler CS1943

Ein Ausdruck vom Typ „Typ“ ist in einer nachfolgenden from-Klausel in einem Abfrageausdruck mit dem Quelltyp „Typ“ unzulässig. Fehler beim Typrückschluss im Aufruf von „Methode“.

Alle Bereichsvariablen müssen abfragbare Typen darstellen.

So beheben Sie diesen Fehler

  1. Stellen Sie sicher, dass der Typ ein abfragbarer Typ ist, der IEnumerable, IEnumerable<T>, eine abgeleitete Schnittstelle oder einen anderen Typ mit definiertem Abfragemuster implementiert.

  2. Wenn der Typ ein nicht generischer IEnumerable ist, stellen Sie für die Bereichsvariable einen expliziten Typ bereit.

Beispiel

Mit dem folgenden Code wird der Fehler CS1943 generiert:

// cs1943.cs  
using System.Linq;  
class Test  
{  
    class TestClass  
    { }  
    static void Main()  
    {  
        int[] nums = { 0, 1, 2, 3, 4, 5 };  
        TestClass tc = new TestClass();  
  
        var x = from n in nums  
                from s in tc // CS1943  
                select n + s;  
    }  
}