Erreur du compilateur CS1935
Mise à jour : novembre 2007
Message d'erreur
Impossible de détecter une implémentation du modèle de requête pour le type source 'type'. 'méthode' introuvable. Une référence à 'System.Core.dll' ou une directive using pour 'System.Linq' est-elle manquante ?
Could not find an implementation of the query pattern for source type 'type'. 'method' not found. Are you missing a reference to 'System.Core.dll' or a using directive for 'System.Linq'?
Le type de source dans une requête doit être IEnumerable, IEnumerable<T>, un type dérivé ou un type pour lequel vous ou quelqu'un d'autre a implémenté les opérateurs de requête standard. Si le type de source est IEnumerable ou IEnumerable<T>, vous devez ajouter une référence à system.core.dll et une directive using pour l'espace de noms System.Linq pour mettre les méthodes d'extension d'opérateur de requête standard dans la portée. Les implémentations personnalisées des opérateurs de requête standard doivent être mises dans la portée de la même façon, avec une directive using et, si nécessaire, une référence à l'assembly.
Pour corriger cette erreur
- Ajoutez les directives using et les références au projet requises.
Exemple
Le code suivant génère CS1935 car la directive using pour System.Linq est mise en commentaire :
// cs1935.cs
// CS1935
using System;
using System.Collections.Generic;
// using System.Linq;
class Test
{
static int Main()
{
int[] nums = {0,1,2,3,4,5};
IEnumerable<int> e = from n in nums
where n > 3
select n;
return 0;
}
}