VB 9 新特性——保留与舍去了什么?

阅读数:81 2007 年 7 月 3 日

话题:.NET语言 & 开发架构

随着 VB 9 发布日期的日益临近,微软公司必须要忍痛对其中各个未能按时完成的新特性进行取舍。虽然大多数重要的特性都已被保留,不过也有一些例外。Paul Vic 对此进行了归纳总结

C# 中的友元程序集(friend assembly)和非严格委托(relaxed delegate)概念都保留了下来,不过 curry 委托则被推迟到下一个版本中。

运行时敏捷(Runtime Agility),即无需 VB 运行时即可进行编译的功能也将得到支持。若想将 VB 代码迁移到其它平台(例如 XBox 360 或.NET Micro Edition)上,那么这个特性将显得至关重要。

我们所了解的大多数有用的 LINQ 功能都将在语言中得到支持,不过一些支持性的功能将不得不被舍去。这些被舍去的功能包括集合初始化器(collection initializer)以及初始化只读域机制等。还有一个限制——虽然 lambda 表达式将得到支持,不过对 lambda 表达式中声明语句的支持却无法包含在这个版本中。之所以会做出这样的决定,可能是因为 VB 中并没有类似 C# 中的强制区块结构(arbitrary block structure)。

XML 常量(XML Literals)、成员、命名空间以及 LINQ 都是 VB 9 皇冠上的明珠,它们也均将毫无疑问地得到支持。自从延迟绑定(late binding)之后,这些与 XML 深度集成的特性又一次成为 VB 的亮点,让其能够真正与 C# 进行抗衡。

查看英文原文:VB 9 Features – What Made the Cut