Yog*_*esh 22 clr .net-4.0 c#-4.0
我已经阅读了无数关于C#4.0新功能的博客,帖子和StackOverflow问题.即使是新的WPF 4.0功能也已经开始公开.我找不到并想知道的事情:
我认为,在内部,大多数更改都是针对新的动态语言和并行编程.但是还有其他重大改进吗?因为语言改进只是语言的改进.您只需要新的编译器,除了版本1.0/1.1(至少大部分都可以使用)之外,这些功能可以与较低版本的.Net一起使用.
如果以上功能是唯一的,只有这些功能版本更改为4.0,我认为是4.0,因为基于.Net 4.0版本(即1.0/1.1,2.0和3.0/3.5之后).版本增量是否合理?
编辑:
正如Pavel Minaev在评论中指出的那样,即使这两个特征也是CLR独立的.3.0和3.5也有速度和其他改进.那么为什么版本会增加?
Pav*_*aev 11
我知道的一个新的CLR是为了NoPIA支持的接口,结构和委托的结构类型的形式- 基本上,它允许运行时使用等效的定义来处理不同的类型,就好像它们是相同的 - 所以如果两个程序集A和B每个都有一个IFoo在其中声明的COM导入的接口,具有相同的IID和相同的成员,运行时将它们视为等效类型; 所以,如果某个类Foo实现了一个实例[A]IFoo,你可以将其强制转换[B]IFoo,并且强制转换可以正常工作.
另一个原因是能够在单个进程中并排托管多个CLR版本.例如,您无法在一个进程中托管1.x和2.0,但您可以托管2.0和4.0.这样做的主要好处是能够同时加载为CLR版本编写的插件.
一个小小的问题是,更多的异常已经变得像StackOverflowException2.0中一样无法捕获 - AccessViolationException例如,你不能再捕获了.
另外,这里是来自PDC 2008的CLR 4.0的PowerPoint演示文稿.现在可能有点过时了,但是那里提到的大多数东西似乎都在测试版中.
| 归档时间: |
|
| 查看次数: |
16851 次 |
| 最近记录: |