Поскольку вы нацеливаетесь на 2.0, быстрый ответ таков: .NET 2.0 не поддерживает LINQ или методы расширения .
Если вы решите, что не хотите использовать LINQBridge , как предлагает @Jon, вы можете очень легко воссоздать свой собственный метод Any
следующим образом:
public static class MyLINQBridge {
public delegate TResult Func<T1, TResult>(T1 first);
public static bool Any<T>(this IEnumerable<T> source, Func<T, bool> predicate) {
foreach (var item in source) {
if (predicate(item)) {
return true;
}
}
return false;
}
}
Поскольку вы используете VS2010, компилятор поддерживает лямбдуметоды и могут поддерживать методы расширения , поэтому ваш окончательный код будет выглядеть следующим образом:
return objectList.Any(o => IsOdd(o.Number));