CS1943-ás fordítási hiba

A "type" típusú kifejezés nem engedélyezett a "type" forrástípusú lekérdezési kifejezés későbbi záradékában. A metódus hívásában nem sikerült a következtetés.

Minden tartományváltozónak lekérdezhető típusokat kell jelölnie.

A hiba kijavítása

  1. Győződjön meg arról, hogy a típus egy olyan lekérdezhető típus, amely implementálja IEnumerable, IEnumerable<T> vagy származtatott felületet, vagy bármely más olyan típust, amelyhez lekérdezési minta van definiálva.

  2. Ha a típus nem általános IEnumerable, adjon meg explicit típust a tartományváltozón.

Példa

A következő kód hozza létre a CS1943-at:

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