在.Net2.0网站中使用LinqBridge

发布于 2024-10-24 01:11:55 字数 217 浏览 2 评论 0原文

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

has anyone been able to use Linqbridge on a .Net 2.0 Website?
I have no problem using it in a normal .Net 2.0 console, but when I use the methods in the website,
I get

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秋叶绚丽 2024-10-31 01:11:55

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

如果您有:

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

那么 ExtensionMethods 和像 number.IsOdd() 这样的代码将无法编译。

您需要删除 IsOdd 方法签名中的 this 并将其调用为 ExtensionMethods.IsOdd(number) 才能使其在2.0。

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

希望有帮助。

I think the error message is pretty clear. Extension methods aren't supported in 2.0. If you want to use an extension method in 2.0, you'd need to modify it by removing the this and call it explicitly.

If you had:

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

Then ExtensionMethods and code like number.IsOdd() won't compile.

You'd need to remove the this in the IsOdd method signature and call it as ExtensionMethods.IsOdd(number) to get it to work under 2.0.

If I recall correctly, that's the approach the authors of LinqBridge used.

Hope that helps.

旧伤慢歌 2024-10-31 01:11:55

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

Maybe you're confusing .NET and C# versions. LINQBridge supports .NET 2.0, but you still need C# 3.0 or later (i.e. VS2008 or later) to compile code with extension method or LINQ syntax sugar. Once compiled, the assembly runs without issue on .NET 2.0 runtimes. That's the benefit of LINQBridge.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文