Visual Basic 2010 中的新增功能

本页列出了 Visual Basic 2010 中的新增功能和增强功能。 单击下面几节中的链接可阅读有关某个功能的更多信息。

主题内容

Visual Basic 2010 的 SP1 版本中的新增功能

  • 编译器运行时开关

Visual Basic 2010 原始发布版本中的新增功能

  • 自动实现的属性

  • 集合初始值设定项

  • 隐式行继续

  • 多行 Lambda 表达式和子例程

  • 用于指定语言版本的新命令行选项

  • 类型等效性支持

  • 动态支持

  • 协变和逆变

  • 定位到

  • 突出显示引用

  • 使用时生成

  • IntelliSense 建议模式

示例应用程序

Visual Basic 2010 的 SP1 版本中的新增功能

下一节中描述 Visual Basic 2010 的 SP1 版本的一个新增功能。

编译器运行时开关

/vbruntime 编译器选项有一个新的 /vbruntime* 开关,它会将 Visual Basic 运行库中的核心功能嵌入到一个程序集中。 可使用此开关来使 Visual Basic 应用程序在不包含 Visual Basic 运行库的平台上运行。

Visual Basic 2010 原始发布版本中的新增功能

以下各节介绍了 Visual Basic 2010 的原始发布版本中的新增功能和增强功能。

自动实现的属性

“自动实现的属性”提供了短语法,便于您快速指定类的属性,而无须编写代码来 Get 和 Set 该属性。 有关更多信息,请参见自动实现的属性 (Visual Basic)

集合初始值设定项

“集合初始值设定项”提供了短语法,供您创建集合并用一组初始值填充它。 通过一组已知值(例如菜单选项或类别的列表)创建集合时,集合初始值设定项很有用。 有关更多信息,请参见集合初始值设定项概述 (Visual Basic)

隐式行继续

在许多情况下,通过隐式行继续功能,可以在下一后续行继续一条语句,而无须使用下划线字符 (_)。 有关可以省略下划线字符的所有情况的列表,请参见 语句 (Visual Basic)

多行 Lambda 表达式和子例程

除了支持多行 lambda 函数和子例程外,Lambda 表达式支持已扩展为支持子例程。 有关更多信息,请参见 Lambda 表达式 (Visual Basic)

用于指定语言版本的新命令行选项

/langversion 命令行选项导致编译器只接受在指定版本 Visual Basic 中有效的语法。

类型等效性支持

现在部署的应用程序可以包含嵌入类型信息,而不是从主互操作程序集 (PIA) 导入的类型信息。 包含嵌入类型信息的应用程序可以使用运行时中的类型,而无需引用运行时程序集。 如果发布了各种版本的运行时程序集,则包含嵌入类型信息的应用程序可以使用各种版本,而不必重新编译。 有关更多信息,请参见 /link (Visual Basic)。 有关示例,请参见演练:嵌入 Microsoft Office 程序集中的类型信息(C# 和 Visual Basic)演练:嵌入托管程序集中的类型(C# 和 Visual Basic)

动态支持

Visual Basic 通过动态语言(如 IronPython 和 IronRuby)绑定到对象。 有关更多信息,请参见使用动态对象 (Visual Basic)演练:创建和使用动态对象(C# 和 Visual Basic)

协变和逆变

通过“协变”可以使用比泛型参数指定的派生类型派生程度更大的类型,而通过“逆变”可以使用派生程度更小的类型。 这样可以对实现了变体接口的类进行隐式转换,并提高将方法签名与变体委托类型相匹配的灵活性。 可以使用新的 InOut 语言关键字创建变体接口和委托。 .NET Framework 还对若干现有泛型接口和委托引入了变体支持,包括 IEnumerable<T> 接口以及 Func<TResult>Action<T> 委托。 有关更多信息,请参见协变和逆变(C# 和 Visual Basic)

定位到

可以使用**“定位到”**功能来搜索源代码中的符号或文件。 通过使用 Camel 大小写格式和下划线字符,可以将符号分为多个关键字,这样可搜索包含在符号中的关键字。

有关更多信息,请参见如何:搜索对象、定义和引用(符号)

突出显示引用

单击源代码中的某个符号时,将在文档中突出显示该符号的所有实例。

对于许多控制结构,当您单击某个关键字时,结构中的所有关键字都会突出显示。 例如,当您在 If...Then...Else 构造中单击 If 时,该构造中的所有 If、Then、ElseIf、Else 和 End If 实例都会突出显示。

若要移动到下一个或上一个突出显示的符号,可以使用 Ctrl+Shift+向下键或 Ctrl+Shift+向上键。 有关更多信息,请参见如何:使用引用突出显示

使用时生成

通过“使用时生成”功能可以直接使用类和成员,而不必提前定义它们。 可以为要使用但尚未定义的任何类、构造函数、方法、属性、字段或枚举生成存根。 可以生成新类型和成员,而无须离开代码中的当前位置。 这可以尽可能少地中断工作流。

“使用时生成”支持如测试先行的开发之类的编程模式。 有关更多信息,请参见使用时生成

IntelliSense 建议模式

智能感知现在为智能感知语句结束提供了两种选择: 完成模式 和 建议模式。 如果在定义类和成员之前使用它们,则使用“建议模式”。 有关更多信息,请参见列出成员

示例应用程序

Visual Basic包括新的示例应用程序演示了以下功能: 自动实现的属性、 隐行继续符、 集合初始值设定项、 协方差和逆变,和多行 lambda 表达式和子例程。 有关 Visual Basic 语言示例以及如何访问这些示例的信息,请参见 Visual Basic 语言示例

请参见

参考

Visual Studio 调试器中的新增功能

概念

Visual Studio 2010 中的新增功能

部署中的新增功能

.NET Framework 4 中的新增功能

ASP.NET 4 和 Visual Web Developer 中的新增功能