以下是我从这段简单的代码中得到的独特结果。
假设您要创建string类型的变量,而不将其声明为字符串。您可以执行此操作并从编译器中获取错误:
Option Strict On
' Produces no errors:
Dim MyString = "Random String"
您也可以这样做而不会出现任何错误:
Option Infer Off
' Produce no errors as well.
Dim MyString = "Random String"
但是,如果同时将选项字符串打开和选项推断关闭,则会出现错误:
Option Strict On
Option Infer Off
' The following line generates an error -
' Option Strict On requires all variable declarations to have an "As" clause
Dim MyString = "Random String"
为什么 Option Strict 需要与 Option Infer 结合使用?特别是当错误明确表示以下错误是" Option Strict"类型。为什么 Option Strict 单独将该行视为错误?
答案 0 :(得分:1)
您忽略了项目级选项设置 - 这些将确定错误/警告,除非在文件级别覆盖。查看项目属性的编译选项卡。
您的项目级选项推断可能设置为“开启”,因此您的第一个示例实际上与包含“选项推断”相同。