在.Net2.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
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为错误消息非常清楚。 2.0 中不支持扩展方法。如果您想在 2.0 中使用扩展方法,则需要通过删除
this
来修改它并显式调用它。如果您有:
那么
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:
Then
ExtensionMethods
and code likenumber.IsOdd()
won't compile.You'd need to remove the
this
in theIsOdd
method signature and call it asExtensionMethods.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.
也许您混淆了 .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.