积极答复者
【C#】为什么NET2.0项目可以使用3.0的新特性?

问题
答案
-
@项目框架是.net 2.0,但居然能用var,拉姆达,而且能编译通过
var也好,lambda也好,其实是语法糖而已。其本质还是会回归到2.0的匿名函数(经过CLR编译之后),自然还是可以使用。
@更神奇的是可以在没安装3.0及以上框架的电脑上正常运行
net的3.0和3.5版本本身就是继承自2.0开发的,除非你用到了2.0没有的类或者方法会有异常产生,其余情况不会产生异常的。因为本身就是2.0的方法直接引用而已。
- 已标记为答案 ahdung_AI 2012年12月19日 2:42
-
虽然这个帖子 已经结掉了,但是我还是补充一句。
.net FM目前一共就发过4个CLR版本, 分别是1.1,2.0,4.0和4.5. 其中2.0支持的FM版本为2.0,3.0和3.5. 所以在这些.Net FM 版本上开发的都可以在CLR2.0上运行。
参考资料:
http://msdn.microsoft.com/zh-cn/library/bb822049.aspx
Mike Feng
MSDN Community Support | Feedback to us
Develop and promote your apps in Windows Store
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已编辑 Mike FengModerator 2012年12月20日 2:41
- 已建议为答案 ThankfulHeartModerator 2012年12月20日 2:46
- 已标记为答案 ThankfulHeartModerator 2012年12月20日 4:59
全部回复
-
@项目框架是.net 2.0,但居然能用var,拉姆达,而且能编译通过
var也好,lambda也好,其实是语法糖而已。其本质还是会回归到2.0的匿名函数(经过CLR编译之后),自然还是可以使用。
@更神奇的是可以在没安装3.0及以上框架的电脑上正常运行
net的3.0和3.5版本本身就是继承自2.0开发的,除非你用到了2.0没有的类或者方法会有异常产生,其余情况不会产生异常的。因为本身就是2.0的方法直接引用而已。
- 已标记为答案 ahdung_AI 2012年12月19日 2:42
-
虽然这个帖子 已经结掉了,但是我还是补充一句。
.net FM目前一共就发过4个CLR版本, 分别是1.1,2.0,4.0和4.5. 其中2.0支持的FM版本为2.0,3.0和3.5. 所以在这些.Net FM 版本上开发的都可以在CLR2.0上运行。
参考资料:
http://msdn.microsoft.com/zh-cn/library/bb822049.aspx
Mike Feng
MSDN Community Support | Feedback to us
Develop and promote your apps in Windows Store
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已编辑 Mike FengModerator 2012年12月20日 2:41
- 已建议为答案 ThankfulHeartModerator 2012年12月20日 2:46
- 已标记为答案 ThankfulHeartModerator 2012年12月20日 4:59
-
@Mike Feng
谢谢补充,不过安装4.5之后4.0有些类是被覆盖掉的,可见如果4.5中单纯调用4.0的方法类啥的,应该也可以在没有4.5而是在4.0的环境下运行。
不过请注意:
2.0,3.0,3.5是独立关系(2.0不一定需要3.5,3.0),反之,3.0或3.5一定需要2.0(基于2.0框架)。
4.0,4.5也如此。
但是2.0(3.0,3.5)和4.0(4.5)似乎没有很大的关系。你以为呢?Mike;)
-
@编程志愿者
》但是2.0(3.0,3.5)和4.0(4.5)似乎没有很大的关系。你以为呢?Mike;)
严重同意,这个两个版本里的类都是被各自重新写过的,所以关系不大 :)
>>不过安装4.5之后4.0有些类是被覆盖掉的,可见如果4.5中单纯调用4.0的方法类啥的,应该也可以在没有4.5而是在4.0的环境下运行。
是的,只是有可能会产生莫名的问题。因为有些方法被重写了,而你又不知道是怎样重写的。
谢谢编程志愿者一直在论坛上做出的贡献:)
Mike Feng
MSDN Community Support | Feedback to us
Develop and promote your apps in Windows Store
Please remember to mark the replies as answers if they help and unmark them if they provide no help.