0

新しく継承したVB.NETアプリケーションのすべてのプロジェクトでOptionStrictをオンにします。私は主に、すべてのコンパイルエラーを取り除くために、多くのCStr、CBool​​、CTypeステートメントを追加しています。

Dim x As String = someObject
dim val As SomeEnumType = 1

になります

Dim x As String = CStr(someObject) ' Not .ToString() because someObject could be Nothing
Dim val As SomeEnumType = CType(1, SomeEnumType)

私はほとんどすべてを手作業で一度に1つのエラーで実行しており、Nothing、...ボーダーケースをテストするためのテストアプリケーションがあります。

しかし、実行時に例外を生成するものが欠落している可能性はありますか?そして、Option Strictのためにどのようなコードが生成されていますか?追加されるのは一部の変換だけですか、それともOptionStrictは他のことも行いますか?

4

1 に答える 1

2

Option Strict Onは余分なコードを生成せ、vb.netステートメントが暗黙的な型変換に依存している場合にエラーを生成するようにコンパイラーに指示するだけです。文字列にオブジェクトを割り当てるようなものです。スニペットに記述した内容は、コンパイラーがOption Strict Offで実行するものとまったく同じであるため、型変換演算子によって余分なコードが生成されることはありません。

しかしもちろん、間違った変換を使用して既存のコードを壊す可能性は常にゼロではありません。コードに変更を加えるときは常に必要なことを行う必要があり、それを再テストする必要があります。

于 2012-11-15T14:04:39.760 に答える