3

有没有人能够在 .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
4

2 回答 2

2

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

如果你有:

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

然后ExtensionMethods,类似的代码number.IsOdd()将无法编译。

您需要删除方法签名this中的IsOdd并调用它ExtensionMethods.IsOdd(number)以使其在 2.0 下工作。

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

希望有帮助。

于 2011-03-17T05:31:42.977 回答
0

也许您对 .NET 和 C# 版本感到困惑。LINQBridge 支持 .NET 2.0,但您仍然需要 C# 3.0 或更高版本(即 VS2008 或更高版本)来编译带有扩展方法或 LINQ 语法糖的代码。编译后,程序集在 .NET 2.0 运行时上运行没有问题。这就是 LINQBridge 的好处。

于 2011-03-18T03:30:36.883 回答