我们可以控制VB9中变量的类型是动态的还是静态的?

时间:2020-03-06 15:04:11  来源:igfitidea点击:

我想使用VB9,但不确定使用哪种语法来表示我希望像在C#中那样对变量进行静态类型化:

var foo = new Whatever();

在早期版本的VB中:

Dim foo = New Whatever()

创建了一个动态类型的变量。

有没有一种方法可以在不实际在VB9中编写类型的情况下获得静态类型?

解决方案

是的,我们可以通过每个文件开头或者项目设置中的Option指令来控制此行为:

Option Strict Off

' The following is dynamically typed: '
Dim x = "Hello"
Option Strict On
Option Infer On

' This is statically typed: '
Dim x = "Hello"

最好的做法是将" Option Strict On"设置为所有项目的默认设置(可以在选项对话框中完成)。这保证了与C#中相同的键入行为。然后,如果需要动态键入,则可以使用上述指令在每个文件的基础上有选择地禁用该设置。