Как понизить этот кусок кода с .net 4.0 до 3.5? - PullRequest
1 голос
/ 12 ноября 2010

Мне действительно нравится этот метод расширения в моем коде .NET 4.0:

public static bool In<T>(this T source, params T[] list)
{
  if(null==source) throw new ArgumentNullException("source");
  return list.Contains(source);
}

Теперь мне бы очень хотелось использовать его в моем проекте .net 3.5, но в нем отсутствует метод Contains. Как я могу чисто понизить этот метод расширения, не усложняя слишком много вещей?

Ответы [ 2 ]

9 голосов
/ 12 ноября 2010

Contains - это расширение для IEnumerable, появившееся в 3.5 как часть LINQ. Этот код будет скомпилирован под 3.5.

Если это не так, убедитесь, что вы включили

using System.Linq
2 голосов
/ 12 ноября 2010

Я согласен с Джеймсом Гонтом, он должен работать под 3.5 как есть.

Возможно, вы не добавили объявления using System.Linq; и using System.Collections.Generic; вверху кода?

Я все время ловлюсь на этом.

...