Leer en inglés

Compartir vía


Error del compilador CS1942

El tipo de la expresión de la cláusula 'clause' es incorrecto. No se pudo realizar la inferencia de tipos en la llamada a 'method'.

Este error se genera normalmente cuando a la variable de rango se le ha proporcionado un tipo explícito incorrecto.

Para corregir este error

  1. Si la variable de rango tiene un tipo explícito, asegúrese de que el tipo se pueda convertir de manera implícita del tipo de los elementos de la colección que recorre en iteración, o que sea igual que este. Si la variable de rango está precedida por la palabra clave var, quite var.

Ejemplo

El código siguiente genera el error CS1942:

// cs1942.cs  
class Program  
    {  
        static void Main(string[] args)  
        {  
            var x = from var i in Enumerable.Range(1, 100) // CS1949  
                    select i; //CS1942  
        }  
    }  

CS1942 está relacionado con CS1949 porque el uso de var con una variable de rango hace que la operación Cast<T> subyacente produzca un error porque var no es un tipo.

Consulte también