在.Net2.0网站中使用LinqBridge

时间:2011-03-17 04:04:29

标签: c# .net-2.0 linqbridge

有没有人能够在.Net 2.0网站上使用Linqbridge? 我在普通的.Net 2.0控制台中使用它没有问题,但是当我使用网站上的方法时, 我得到了

Feature 'extension method' cannot be used because it is not part of the ISO-2 C# language specification

2 个答案:

答案 0 :(得分:2)

我认为错误信息非常清楚。 2.0中不支持扩展方法。如果您想在2.0中使用扩展方法,则需要删除this并明确调用它来修改它。

如果你有:

public static class ExtensionMethods {
    public static bool IsOdd(this int x) {
        return x % 2 != 0;
    }
}

然后ExtensionMethodsnumber.IsOdd()之类的代码将无法编译。

您需要删除this方法签名中的IsOdd,并将其命名为ExtensionMethods.IsOdd(number),以使其在2.0下运行。

如果我没记错的话,这就是LinqBridge的作者使用的方法。

希望有所帮助。

答案 1 :(得分:0)

也许你会混淆.NET和C#版本。 LINQBridge支持.NET 2.0,但您仍需要C#3.0或更高版本(即VS2008或更高版本)来使用扩展方法或LINQ语法糖编译代码。编译完成后,程序集在.NET 2.0运行时运行时没有问题。这是LINQBridge的好处。