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
在 [工具] 功能表上按一下 [選項]。
開啟 [專案和方案] 節點。
選擇 [VB 預設值]。
修改 [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)
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
加入關於縮小轉換和 For Each¡KNext 的備註。 |
客戶回函。 |