VB 2010 的自动属性, 集合初始化器以及隐线连续支持

[原文作者]:Scott Gu

[原文链接]:Automatic Properties, Collection Initializers, and Implicit Line Continuation support with VB 2010

【除了博客, 我现在也使用Twitter来快速更新和共享链接。 请跟随我来:twitter.com/scottgu

这是我正在做的一系列关于即将来临的VS2010和.Net 4 release的第18篇博客。

数天前,我在博客上讲述了两个新的语言功能来使用C#4.0:可选参数和命名参数。

今天我要帖一些我最喜欢的新增加到VS2010里VB的一些功能:自动属性, 集合初始化器, 以及隐线连续支持。

自动属性

      在VB2010之前,用VB在类里实现属性需要明确地声明这个属性及实现支持字段变量来存储它的值。

比如,下面的代码就说明了如何实现用VB2008来实现Person这个类,它包含两个公共属性- “姓名”及“年龄”:

clip_image002

       虽然像上述代码明确声明属性提供了最大的灵活性,但是我总觉得写这种公式化的Get/Set代码很乏味,只是简单地存储/获取检索字段的值。 你可以使用VS的代码段来自动生成-但是它还是生成了很多冗余的代码。C# 2008提出了一个很酷的新功能叫做自动属性来帮助删除代码,在相当多常见情况下,属性只是简单地由一个字段来支持。现在VB2010也支持同样的功能。

       使用VB2010的自动属性, 我们现在就能用下面的代码来完成Person这个类了:

clip_image004

       当你声明一个自动化实现的类,VB编译器会自动创建一个私有的字段来存储属性值以及生成相关的Get/Set方法。 正如你上面所看到的-代码变得简洁得多,也更容易阅读。

       如果你想要初始化属性值,它也支持随意用默认值来初始化属性:

clip_image006

       你可以从MSDN学到更多关于VB2010的自动化属性支持。

集合初始化器

       VB2010现在也支持集合初始化器,可以很轻松地创建一个集合以及用一系列值来填充它。你可以通过声明一个集合变量来识别一个集合初始化器,然后输入From后面紧接着是大括号{},里面包含着要添加到集合里的初始值。

下面是一个代码实例,其中我使用了新建集合初始化功能来填充“Friends”,用了两个Person对象,然后把它绑定到GridView控件,显示在页面上。

clip_image008

        你可以从MSDN页面上能够学到更多关于VB2010的集合初始化器。

隐线连接支持

       习惯上,当VB的一个语句被分隔成好几行时,你不得不用下划线 "_” 来表示这个语句还没有结束。

       比如,在VB2008,下面的LINQ 查询语句需要在每一行的末尾加 “_”来表示这个查询语句还没有结束:

clip_image010

        VB2010的编译器和代码编辑器现在增加了对“隐线连续支持”的支持­­­—这也意味着它能更明智地自动检测行连接的情况。 这样的话,也就不再需要你明确表明这个语句要延续许多许多行。这也意味着VB2010根本不用“_”我们也能写出以上的代码。

clip_image012

       当用VB编辑XML时,隐线连接功能也能工作得很好(这是相当的酷)。

       你可以在MSDN页面上学到更多关于VB2010的隐线连接支持以及它所支持的多种情况。(请到“隐线连接”这一节找资料)。

概要

       上述三种vb语言功能,不过是随VB2010而来的一些新语言和代码编辑器功能。访问这个网站可以学到更多VB语言这次发布的其他一些功能。

       而且订阅VB团队博客可以学到更多, 保持他们能够定期地发布最新的帖子。

       希望这有所帮助,

发表评论