gpt4 book ai didi

clr - CLR 2.0 和 CLR 4.0 之间的区别

转载 作者:行者123 更新时间:2023-12-03 11:42:08 27 4
gpt4 key购买 nike

我已经阅读了无数关于 C# 4.0 新特性的博客、帖子和 StackOverflow 问题。甚至新的 WPF 4.0 功能也开始公开发布。我找不到并且想知道的:

  • 从 C#/WPF 开发人员的角度来看,CLR 4.0 的主要变化是什么?
  • 整个 CLR 4.0 的主要变化是什么?

  • 我认为,在内部,大多数变化是针对新的动态语言和并行编程。但是还有其他重大改进吗?因为语言改进就是这样,语言改进。您只需要新的编译器,这些功能可以与 .Net 的较低版本一起使用,除了 1.0/1.1 版本(至少大部分都可以使用)。

    如果只有以上功能,那么只有这些功能的版本才会更改为 4.0,我认为是 4.0,因为它基于 .Net 4.0 版本(即 1.0/1.1、2.0 和 3.0/3.5 之后)。版本增量是否合理?

    已编辑:

    正如 Pavel Minaev 在评论中指出的那样,即使这两个功能也是独立于 CLR 的。 3.0 和 3.5 也有速度和其他改进。那么为什么要增加版本呢?

    最佳答案

    我知道的一个新的 CLR 事情是为了 NoPIA support 而对接口(interface)、结构和委托(delegate)进行结构类型化的一种形式。 - 基本上,它允许运行时将具有等效定义的不同类型视为相同 - 所以如果两个程序集 AB每个都有一个 COM 导入接口(interface) IFoo在它们中声明,具有相同的 IID 和相同的成员,运行时会将它们视为等效类型;所以如果有某个类的实例Foo实现[A]IFoo ,您可以将其转换为 [B]IFoo ,并且 Actor 阵容将起作用。

    另一件事是能够在单个进程中并排托管多个 CLR 版本。例如,您不能在一个进程中托管 1.x 和 2.0,但可以托管 2.0 和 4.0。这样做的主要好处是能够同时加载为任一 CLR 版本编写的插件。

    一个小问题是,还有一些异常变得无法捕获,例如 StackOverflowException。在 2.0 中 - 你无法捕获 AccessViolationException不再,例如。

    另外,here是 PDC 2008 中关于 CLR 4.0 的 PowerPoint 演示文稿。现在可能有点过时了,但其中提到的大多数内容似乎都在测试版中。

    关于clr - CLR 2.0 和 CLR 4.0 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1626368/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com