共用方式為


Option Strict 陳述式

更新: 2008 年 7 月

將隱含資料型別轉換限制為只能「擴展」轉換。

Option Strict { On | Off }

參數

  • On
    選擇項,啟用 Option Strict 檢查。

  • Off
    選擇項,停用 Option Strict 檢查。如果未指定 On 或 Off,則預設值為 Off。

備註

如果使用,在檔案中 Option Strict 陳述式必須出現在任何其他原始程式碼陳述式之前。

Visual Basic 允許將許多資料型別轉換為其他的資料型別。當某個資料型別的值轉換為精確度較差或容量較小的資料型別時,可能會發生資料流失。如果這樣的「縮小轉換」(Narrowing Conversion) 發生失敗,會產生執行階段錯誤。Option Strict 可以確保在編譯時期提供這些縮小轉換的通知,以避免發生這些錯誤。

注意事項:

從 For Each¡KNext 集合中的項目轉換至迴圈控制變數時,會隱藏縮小轉換錯誤。如需詳細資訊和範例,請參閱 For Each...Next 陳述式 (Visual Basic) 中的<縮小轉換>一節。

除了不允許隱含的縮小轉換外,Option Strict 還會產生「晚期繫結」(Late Binding) 的錯誤。當物件指派給宣告為 Object 型別的變數時,即是所謂的晚期繫結。

因為 Option Strict On 提供了強型別、防止無意的型別轉換導致資料損失、不允許晚期繫結,以及改善效能,所以強烈建議使用它。

注意事項:

如果您未在程式碼中指定 Option Strict,則編譯器會預設值為 Option Strict Off。

您也可以在 Visual Studio 整合式開發環境 (IDE) 或在命令列上設定 Option Strict。

注意事項:

根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。若要變更設定,請按一下 [工具] 功能表上的 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

若要在 IDE 中設定 Option Strict

  1. 在 [工具] 功能表上按一下 [選項]。

  2. 開啟 [專案和方案] 節點。

  3. 選擇 [VB 預設值]。

  4. 修改 [Option Strict] 設定。

若要在命令列上設定 Option Strict

範例

下列範例示範 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 Compare 陳述式

Option Explicit 陳述式 (Visual Basic)

/optioncompare

/optionexplicit

/optionstrict

選項對話方塊、專案、Visual Basic 預設值

變更記錄

日期

記錄

原因

2008 年 7 月

加入關於縮小轉換和 For Each¡KNext 的備註。

客戶回函。