加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#3.0定位2.0

发布时间:2020-12-15 04:32:09 所属栏目:百科 来源:网络整理
导读:我不明白这是如何工作的 – 我正在使用VS2008并使用像var关键字这样的3.0语言功能. 然而,我可以编译并运行2.0框架版本 怎么可能? 编辑:是否有一个网站定义CLR,框架和语言功能和向后兼容性 – 我很困惑所有这些 解决方法 一些语言功能只是编译器是智能的 –
我不明白这是如何工作的 – 我正在使用VS2008并使用像var关键字这样的3.0语言功能.

然而,我可以编译并运行2.0框架版本

怎么可能?

编辑:是否有一个网站定义CLR,框架和语言功能和向后兼容性 – 我很困惑所有这些

解决方法

一些语言功能只是编译器是智能的 – var就是其中之一.编译后的代码没有迹象表明变量是通过var声明的.

其他功能(例如扩展方法)需要框架的支持.扩展方法通过ExtensionAttribute识别和公布.同样,表达式树需要Expression类及其子类.

其他一些功能也需要CLR支持–C#2中的泛型是最明显的例子. C#3中没有任何功能完全需要CLR支持; .NET 3.5附带一个Service Pack到CLR,但没有重大更改.我怀疑有一些极端情况,v2 CLR之前会遇到一些表达式树的问题. (我认为DynamicMethod在内部发生了一些变化,虽然我不记得细节.)可能还有一些可验证的调整.

我有一个article,它描述了在面向.NET 2时可以使用C#3中的哪些功能.我将尽快扩展它以包含C#4.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读