.NET 4 中废弃的特性

  • Jonathan Allen

2010 年 3 月 11 日

话题:.NET语言 & 开发

随着新的 CLR 和 Base Class Library 的引入,微软趁机做了些“家务事”。虽然真正被移除的不多,但我们还是看到了微软列出的长长的废弃类型成员列表。

有些被废弃的特性是显而易见的。比如说,现在不可能再去捕获 ExecutionEngineException 了,这样代码也就没有理由这么做了。其他被废弃的特性反映了 CLR 工作方式的变化,最能说明这一点的就是 Code Access Security 和 Evidence 对象了。

XmlDataDocument 类(开发者可以使用该类以 XML DOM 对象的方式处理 DataSet 对象)已被废弃。虽然很少会在实际开发中使用到该功能,但我们依然可以通过 DataSet.WriteXml 和更易于使用的 XDocument 类实现这个功能。在 Data 命名空间下也有一些类被废弃了,如 OracleClient 下的 OracleCommand 和 OracleConnection。微软推荐开发者使用第三方实现。

在 Web 端,微软完全放弃了对 ASP.NET 的移动支持。取而代之的是推荐开发者使用 ASP.NET MVC。Scott Hanselman 曾在 MIX2009 上做过关于该技术的演讲,题目是“Mobile Web Sites with ASP.NET MVC and the Mobile Browser Definition File”。Mobile Browser Definition File是微软运作的一个开源项目,用于分类和以编程的方式公开所有主流移动设备的功能。

最后想说的是有些方法从一开始就被标记为废弃的。比如GroupJoin的 this 并行变量是针对特定目的创建的,我们不应该使用它。推测来看,这么做是防止开发者不小心使用了基于 IEnumerable 的非并行变量。

查看英文原文:Obsolete Features in .NET 4

.NET语言 & 开发