Error del compilador CS1943
Actualización: noviembre 2007
Mensaje de error
No se permite una expresión de tipo 'tipo' en una cláusula from siguiente incluida en una expresión de consulta con el tipo de origen 'tipo'. No se pudo inferir el tipo en la llamada a 'método'.
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'.
Todas las variables de rango deben representar tipos que se puedan consultar.
Para corregir este error
Asegúrese de que el tipo se puede consultar e implementa IEnumerable, IEnumerable<T> o una interfaz derivada, o es cualquier otro tipo para el que se haya definido un modelo de consulta.
Si el tipo es un elemento IEnumerable no genérico, proporcione un tipo explícito para la variable de rango.
Ejemplo
El código siguiente genera el error 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;
}
}