Compilerfout CS1943

Een expressie van het type 'type' is niet toegestaan in een volgende component in een queryexpressie met brontype 'type'. Typedeductie is mislukt in de aanroep naar 'methode'.

Alle bereikvariabelen moeten querybare typen vertegenwoordigen.

Deze fout corrigeren

  1. Zorg ervoor dat het type een querybaar type is dat wordt geïmplementeerd IEnumerable, IEnumerable<T> of een afgeleide interface, of een ander type dat een querypatroon voor het type heeft gedefinieerd.

  2. Als het type een niet-algemeen IEnumerabletype is, geeft u een expliciet type op voor de bereikvariabele.

Opmerking

Met de volgende code wordt CS1943 gegenereerd:

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