【问题标题】:What features are people looking forward to in .Net 4.0 - 4.1人们期待 .Net 4.0 - 4.1 中的哪些功能
【发布时间】:2009-04-02 16:32:16
【问题描述】:

我非常有兴趣了解人们对即将推出的 .net 框架的哪些功能感兴趣?

这些是新类还是新控件,我很想知道人们的看法。

【问题讨论】:

  • 呃... StringOr 是愚人节玩笑。
  • 顺便说一句,这不应该是一个维基吗?
  • 嘿。我现在有机会进行第一次从 1.1 到 2.0 的网站迁移。 :-)
  • 我刚刚将一个 1.1 的应用升级到了 3.5——这不是一项糟糕的任务,但我暂时不想再做一次。
  • @Cory,很高兴你的工作进展顺利,但到目前为止,从 1.1 到 2.0 的转换符合我对糟糕任务的定义。

标签: .net visual-studio-2010 .net-4.0


【解决方案1】:

代码协定和并行扩展。语言功能都不是(这主要是我通常感兴趣的),但两者都有可能显着改变我们编写代码的方式。

DLR 听起来确实很酷很有趣,但我不确定我最终会不会经常使用它,至少在与 IronRuby/IronPython 互操作方面。能够使用后期绑定来减少反射样板代码会很好

就 C# 4 语言特性而言,协变和逆变将更像是一种“呸,减少了烦恼”,而不是“哇哇,很酷的东西!”但可选/命名参数可能非常方便。它会使编写/使用不可变类型稍微变得更容易,尽管我仍然希望内置对构建器模式的支持:)

【讨论】:

  • 代码合同看起来确实是编写“验证”的好方法..忘了那个。
  • 代码契约是一个很好的补充。我不相信 [还] 可选/命名参数。我们会看到...
  • @280Z28:我对可选参数和命名参数感到满意,因为它们使 COM 工作变得更好创建不可变类型。
  • 也期待代码合约。不过,我确实希望包含不可为空的类型。感觉我所有的合同都是“Contract.Requires(X != null)”和“Contract.Ensures(Contract.Result(of T) != null)”。
  • 我想我只是担心人们会像对待 C++ 一样对待 C#。 :o 我可以看到将它们用于不可变类型。我也很少使用扩展方法(并且几乎总是用于 COM 互操作)。
【解决方案2】:

主要是并行扩展和'variance。当然:System.Reactive / the Rx Framework / "LINQ to Events",我认为它可能(来)非常很大。

但还有一些我在这里没有看到的东西——虽然在某种程度上“很高兴”——当新版本终于出现时可能会派上用场。喜欢:

  • BigInteger(糟糕的是,INumber 之类的东西还没有进入...)
  • ISet<T>SortedSet<T>(框架中的自平衡树)
  • 将文件系统枚举 API 从返回数组(仅?)更改为返回 IEnumerable(以及?)
  • 默认支持 F# 语言
  • 轻微的压缩改进

我认为dynamic 和可选/命名参数只是为了与使用/需要/需要这些概念的语言实现更好/更轻松的互操作。所以他们很高兴有空。但肯定仅此而已。

【讨论】:

    【解决方案3】:

    我期待新的 WPF 控件。我相信现在的 WPF Toolkit 将作为控件合并到框架中。将它们作为 Visual Studio 中的库存控件并使用 .NET 框架对其进行修补会好得多,而不是每次需要修复错误时都必须下载新的集合。

    另外,我期待 Visual Studio 2010 的 WPF 荣耀!

    【讨论】:

    • 确实是wpf的荣耀!此外,我不能等到他们彻底检修整个 VS IDE。不幸的是,鉴于众多供应商编写插件,这不太可能发生。 :(
    【解决方案4】:
    • C# 中的可选参数

    比起 .NET 4.0,我真的很期待 Visual Studio 2010,就像 jirwin 的回应一样。

    【讨论】:

    • 我可以看到这些对于自动化 Office 很有用(我只在 VB 中真正做过),但我不能说我能想到在其他地方使用它们的许多情况。
    • 是的,我不会经常使用它们,但千分之一次,使用它们而不是编写重载方法或进行构造函数链接会非常好。跨度>
    • 你经常在构造函数中使用它们。例如,四个 Exception 构造函数都可以替换为一个。对于四个构造函数版本,我永远记不起传递空参数是否会像更简单的构造函数一样起作用或抛出异常。使用带有默认参数的单个构造函数会使这种混淆变得不可能。
    【解决方案5】:

    承诺提供更好的 Sharepoint 开发人员工具和支持,因为当您目前必须使用它时,这有点痛苦。

    只是他们计划拥有的部署选项会省去一些麻烦。

    所以我很乐观,他们已经听取了开发者社区的抱怨。

    【讨论】:

    • 我一直在等待一个好的 SharePoint 开发故事,因为早在第一个版本的 beta 版本之前......我希望你是对的......但我不会屏住呼吸 :-)
    【解决方案6】:

    DLR 和 Parallel Extensions,虽然我不能说我完全了解发货时包装盒中的内容。

    编辑:根据 Jon Skeet 的说法,代码合同看起来也不错。不是开创性的,但从我看到的样本来看,它们看起来是一种很好的表现方式。

    【讨论】:

      【解决方案7】:

      我和Expression做了很多工作,所以我很期待extra expression types

      我也喜欢可选/命名参数——但主要是作为making immutability simpler 的一种方式;不知道我会不会使用它...

      【讨论】:

        【解决方案8】:

        对我来说,最重要的是VB.NET 和 C# 之间的融合,现在它们终于共享了在 3.0/3.5 中被破坏的相同功能。

        我也有兴趣:

        【讨论】:

          【解决方案9】:

          一个框架元组类和 C#4 'dynamic',我将在所有地方使用它来了解到处使用 'var' 的人。 (我知道“动态”不是纯粹的框架功能 - 但它是部分框架)

          【讨论】:

          • -1 表示动态(如果你喜欢,可以使用脚本语言 ;-))
          • 您似乎不明白 C#4 中“动态”的原因...这是为了与脚本语言互操作,而不是替换它们。
          • 我了解动态的用途,但我不喜欢编写脚本语言,甚至不喜欢与它们互操作。将使用它使与 COM 的东西(如 Office)的互操作更容易,而不是脚本语言。因此,我原来的评论。 ;-)
          【解决方案10】:

          嗯...StringOr 课程不是愚人节玩笑吗?

          【讨论】:

            【解决方案11】:

            Visual Studio 2010 代码编辑器是纯 WPF,能够停靠在任一监视器上,并且插件不使用讨厌的 Office COM 对象模型 (EnvDTE)。

            我知道这不是框架,但问题已标记为 VS2010

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-10-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-12-02
              • 1970-01-01
              • 2011-02-09
              相关资源
              最近更新 更多