Extension de la méthode n'est pas trouvée (pas une référence d'assembly question)

J'ai l'extension suivante de la méthode:

public static EntitySet<T> ToEntitySetFromInterface<T, U>(this IList<U> source)
    where T : class, U
{
    var es = new EntitySet<T>();
    IEnumerator<U> ie = source.GetEnumerator();
    while (ie.MoveNext())
    {
        es.Add((T)ie.Current);
    }
    return es;
}

et Im essayant de l'utiliser comme suit:

   List<IItemMovement> p = new List<IItemMovement>();
    EntitySet<ItemMovement> ims = p.ToEntitySetFromInterface<ItemMovement, IItemMovement>();

où ItemMovement implémente IItemMovement. Le compilateur se plaint:

'Système.Les Collections.Génériques.Liste' ne contient pas de
définition des "ToEntitySetFromInterface' et aucune méthode d'extension
'ToEntitySetFromInterface' acceptant un premier argument de type
'Système.Les Collections.Génériques.Liste' a pu être trouvée (sont
vous manque une directive using ou une référence d'assembly?)

Non, je ne suis pas en manque une référence. Si je viens de taper le nom de la statique de la classe contenant la méthode, il apparaît ainsi que la méthode d'extension. Thnx

je ne suis pas sûr de Liste<la mise en Œuvre> liste = new List<Interface>(); dresser?
sinon, ce code fonctionne pour moi (avec un moqué ItemMovement et IItemMovement
Je crois que cette question n'a rien à voir avec intellisense. Si vous ne pouvez pas compiler puis c'est à peine intellisense est la faute de.
Juste assez: titre modifié

OriginalL'auteur rism | 2012-03-06