2010-07-21 11 views
7

En un proyecto específico en mi trabajo, tengo un método que devuelve IList. Pero esta interfaz no contiene dónde ni FindAll filtros. Sin embargo, cuando abro un nuevo proyecto, IList contiene todos. ¿Cuál es la diferencia?IList <T> no tiene "dónde"

Respuesta

25

¿Importó System.Linq?

+2

Muchas gracias. Qué error tan estúpido ... – bileyazan

+2

Debería aceptar la respuesta de ScottE si es la correcta. –

+0

@bileyazan - Estoy de acuerdo con @Will Dean, es importante aceptar respuestas que lo ayuden desde SO. No solo da una buena reputación, sino que también permite a los futuros usuarios de Google saber qué respuesta te ayudó a resolver tu problema. –

5

Nope. IEnumerable<T> tiene "dónde" como método de extensión.

Asumiendo que su proyecto es .Net 3.5 o superior, es necesario tener using System.Linq;

+0

'IEnumerable 'quieres decir. :) El LINQ viejo 'IEnumerable' no es soportado por LINQ - primero tiene que hacer' Cast'/'OfType'. – Noldorin

+0

@Noldorin: Sí, en realidad tenía '', pero olvidé ponerlo en un bloque de código y StackOverflow lo perdió ... probablemente se represente como una etiqueta HTML. Gracias :) –

0

Comprobar .NET Framework de marco abierto, que puede ser su Fx .NET 2.

System.Linq añadió en 3,5

0

Here's a basic discussion of extension methods en general. Como mencionan otros, el método Where es un método de extensión que se encuentra en el espacio de nombres System.Linq, por lo que debe importarlo para que intellisense detecte la existencia de esos métodos.

Cuestiones relacionadas