一尘不染

.NET 4.0中的重大更改

c#

关于新4.0中的新功能和类的信息很多,但是也有可能会影响现有应用程序的更改,例如

  1. Timespan现在实现了IFormattable并且旧的 string.Format() 具有无效的选项将引发异常,而不是调用简单的ToString()。但是,CLR团队提供了一个不错的功能,可以使用配置设置-TimeSpan_LegacyFormatMode启用以前版本的行为。

CLR由内而外

  1. 访问使用+ =或-=声明的类中的事件将导致调用添加/删除生成的访问器,这些访问器返回void。有些代码甚至无法在4.0中编译。

克里斯·伯罗斯(Chris
Burrows)博客

  1. 不建议使用CAS,要启用它,仍然需要在配置中使用特殊设置-NetFx40_LegacySecurityPolicy

因此,我想知道还有哪些其他更改,是否有可能至少找到初步的更改列表,这些更改会或可能会破坏.NET 4.0版本中的现有功能?


阅读 272

收藏
2020-05-19

共1个答案

一尘不染

语言文档团队为C#和VB重大更改发布了单独的文档:

VB:http//msdn.microsoft.com/en-
us/library/cc714070%28VS.100%29.aspx

C#:http//msdn.microsoft.com/en-
us/library/ee855831%28VS.100%29.aspx

我编写了C#,其中包括Eric Lippert提到的协方差和自变量突破更改,以及Chris
Burrows讨论的事件更改。关于可选参数,嵌入式互操作类型和方法组类型推断,也有一些重大更改。

更新:

另一个有用的文档(来自.NET文档团队):http : //msdn.microsoft.com/zh-
cn/library/ee941656%28VS.100%29.aspx

2020-05-19