3

この単純なコードから得られる独特の結果を次に示します。

文字列として宣言せずに、文字列型の変数を作成したいとします。これを行うと、コンパイラからエラーが発生しなくなります。

Option Strict On

' Produces no errors:
Dim MyString = "Random String"

これを行うこともできますが、エラーは発生しません。

Option Infer Off
' Produce no errors as well.
Dim MyString = "Random String"

ただし、 Option String OnOption Infer Offの両方を組み合わせると、エラーが発生します。

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だけでは、その行をエラーとして検出できないのはなぜですか?

4

1 に答える 1

1

プロジェクト レベルのオプション設定を無視しています。これらは、ファイル レベルでオーバーライドされない限り、エラー/警告を決定します。これらのプロジェクト プロパティのコンパイル タブを見てください。

プロジェクトレベルの Option Infer はおそらく「オン」に設定されているため、最初の例は実際には「Option Infer On」を含めることと同じです。

于 2014-10-02T22:06:51.250 に答える