如何将这段代码从.net 4.0降级到3.5?

时间:2010-11-11 22:44:34

标签: c# .net-3.5 .net-4.0 extension-methods

我一直非常喜欢.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 个答案:

答案 0 :(得分:9)

Contains是作为LINQ的一部分在3.5中引入的IEnumerable的扩展。此代码将在3.5下编译。

如果不是,请确保已包含

using System.Linq

答案 1 :(得分:2)

我同意詹姆斯·冈特的意见,这应该按原样运行在3.5以下。

也许您忽略了在代码顶部添加using System.Linq;using System.Collections.Generic;声明?

我一直都被这个抓住了。