Option Strict ステートメント
更新 : 2008 年 7 月
暗黙的なデータ型変換を拡大変換だけに制限します。
Option Strict { On | Off }
指定項目
On
省略可能です。Option Strict のチェックを有効にします。Off
省略可能です。Option Strict のチェックを無効にします。On または Off を指定しない場合は、既定で Off になります。
解説
Option Strict ステートメントを使用する場合は、ファイル内で他のどのソース コード ステートメントよりも先に定義する必要があります。
Visual Basic では、さまざまなデータ型を他のデータ型に変換できます。変換元のデータ型より変換先のデータ型の方が精度が低い場合、または容量が小さい場合は、データが失われる可能性があります。このような縮小変換が失敗した場合は、ランタイム エラーが発生します。Option Strict を使用すると、ランタイム エラーを回避できるように、このような縮小変換に対してコンパイル時に通知が出されます。
メモ : |
---|
For Each…Next コレクション内の要素からループ制御変数への変換に対して縮小変換エラーが抑制されます。詳細および例については、「For Each...Next ステートメント (Visual Basic)」の「縮小変換」セクションを参照してください。 |
Option Strict は暗黙の縮小変換を許可しないだけでなく、遅延バインディングのエラーも生成します。Object 型として宣言された変数に代入されるオブジェクトは、遅延バインディングされます。
Option Strict On によって厳密な型指定が可能になり、データの損失を伴う意図しない型変換を回避でき、遅延バインディングが禁止されて、パフォーマンスが改善されるので、必ず使用することをお勧めします。
メモ : |
---|
コードに Option Strict を指定しなければ、コンパイラは既定で Option Strict Off になります。 |
Option Strict は、Visual Studio の統合開発環境 (IDE) またはコマンド ラインからでも設定できます。
メモ : |
---|
使用している設定またはエディションによっては、ヘルプの記載と異なるダイアログ ボックスやメニュー コマンドが表示される場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
IDE で Option Strict を設定するには
[ツール] メニューの [オプション] をクリックします。
[プロジェクトおよびソリューション] ノードを開きます。
[Visual Basic の既定値] を選択します。
[Option Strict] の設定を変更します。
コマンド ラインで Option Strict を設定するには
- vbc コマンドに /optionstrict コンパイラ オプションを指定します。
使用例
次の例は、Option Strict ステートメントによって、遅延バインディングおよびデータが損失する変換を回避する方法を示します。
Option Strict On
Dim thisVar As Integer
Dim thisObj As Object = New widget
thisVar = 1000 ' Declared variable does not generate error.
' Attempting to convert Double to Integer generates a COMPILER ERROR.
thisVar = 1234567890.9876542 ' causes ERROR
' Late-bound call generates a COMPILER ERROR.
Call thisObj.Method1() ' causes ERROR
参照
概念
参照
Option Explicit ステートメント (Visual Basic)
[Visual Basic の既定値] ([オプション] ダイアログ ボックス - [プロジェクト])
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2008 年 7 月 |
縮小変換および For Each…Next に関する説明を追加。 |
カスタマ フィードバック |