Ошибка компилятора CS1943
Обновлен: Ноябрь 2007
Сообщение об ошибке
Выражение типа "тип" недопустимо в последующем предложении в выражении запроса с исходным типом "тип". Не удалось определить тип в вызове "метод".
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'.
Все переменные диапазона должны представлять запрашиваемые типы.
Исправление данной ошибки
Убедитесь, что тип является запрашиваемым типом, реализующим интерфейс IEnumerable, IEnumerable<T> или производный интерфейс, или любым другим типом, имеющим соответствующий ему шаблон запроса.
Если тип является не универсальным IEnumerable, укажите явный тип в переменной диапазона.
Пример
В следующем примере возникает ошибка 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;
}
}