Sdílet prostřednictvím


Compilerfehler CS1943

Aktualisiert: November 2007

Fehlermeldung

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".
An expression of type 'type' is not allowed in a subsequent from clause in a query expression with source type 'type'. Type inference failed in the call to 'method'.

Alle Bereichsvariablen müssen abfragbare Typen repräsentieren.

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

Durch den folgenden Code wird der Fehler CS1943 ausgelöst:

// 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;
    }
}