Compartir a través de


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

  1. 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.

  2. 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;
    }
}