Sdílet prostřednictvím


Option Strict Statement

Restricts implicit data type conversions to only widening conversions.

Option Strict { On | Off }

Parts

Term

Definition

On

Optional. Enables Option Strict checking.

Off

Optional. Disables Option Strict checking. If On or Off is not specified, the default is Off.

Remarks

If used, the Option Strict statement must appear in a file before any other source code statements.

Visual Basic allows conversions of many data types to other data types. Data loss can occur when the value of one data type is converted to a data type with less precision or smaller capacity. A run-time error occurs if such a narrowing conversion fails. Option Strict ensures compile-time notification of these narrowing conversions so that they can be avoided.

Poznámka

The narrowing-conversion error is suppressed for conversions from the elements in a For Each…Next collection to the loop control variable. For more information and examples, see the "Narrowing Conversions" section in For Each...Next Statement (Visual Basic).

In addition to disallowing implicit narrowing conversions, Option Strict generates an error for late binding*.* An object is late bound when it is assigned to a variable that is declared to be of type Object.

Because Option Strict On provides strong typing, prevents unintended type conversions with data loss, disallows late binding, and improves performance, its use is strongly recommended.

Poznámka

The compiler default is Option Strict Off if you do not specify Option Strict in your code.

You can also set Option Strict in the Visual Studio integrated development environment (IDE) or on a command line.

Poznámka

Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Visual Studio Settings.

To set Option Strict in the IDE

  1. On the Tools menu, click Options.

  2. Open the Projects and Solutions node.

  3. Choose VB Defaults.

  4. Modify the Option Strict setting.

To set Option Strict on the command line

Example

The following example demonstrates how the Option Strict statement disallows late binding and conversions when data would be lost.

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

See Also

Reference

Option Compare Statement

Option Explicit Statement (Visual Basic)

/optioncompare

/optionexplicit

/optionstrict

Visual Basic Defaults, Projects, Options Dialog Box

Concepts

Widening and Narrowing Conversions (Visual Basic)