Kompilatorfel CS1943

Ett uttryck av typen "typ" tillåts inte i en efterföljande från-sats i ett frågeuttryck med källtypen "typ". Typinferensen misslyckades i anropet till "metod".

Alla intervallvariabler måste representera frågebara typer.

Så här åtgärdar du det här felet

  1. Kontrollera att typen är en frågebar typ som implementerar IEnumerable, IEnumerable<T> eller ett härlett gränssnitt eller någon annan typ som har ett frågemönster definierat för den.

  2. Om typen är en icke-generisk IEnumerableanger du en explicit typ för intervallvariabeln.

Exempel

Följande kod genererar CS1943:

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