Enforces strict type semantics to restrict implicit type conversions.


-optionstrict[+ | -]


+ | -
Optional. The -optionstrict+ option restricts implicit type conversion. The default for this option is -optionstrict-. The -optionstrict+ option is the same as -optionstrict. You can use both for permissive type semantics.

Required. Warn when strict language semantics are not respected.


When -optionstrict+ is in effect, only widening type conversions can be made implicitly. Implicit narrowing type conversions, such as assigning a Decimal type object to an integer type object, are reported as errors.

To generate warnings for implicit narrowing type conversions, use -optionstrict:custom. Use -nowarn:numberlist to ignore particular warnings and -warnaserror:numberlist to treat particular warnings as errors.

To set -optionstrict in the Visual Studio IDE

  1. Have a project selected in Solution Explorer. On the Project menu, click Properties.

  2. Click the Compile tab.

  3. Modify the value in the Option Strict box.

To set -optionstrict programmatically

See Option Strict Statement.


The following code compiles Test.vb using strict type semantics.

vbc -optionstrict+ test.vb

See also