Option Strict On 不允許縮小 Lambda 運算式和委派 '<delegatename>' 之間的隱含型別轉換
當 Option Strict
為 On 時,您不能在委派中的參數與指派給該委派類型之變數的 Lambda 運算式的對應參數之間,進行資料類型的縮小轉換。 例如,在下列程式碼中,委派 Del
具有一個類型為 Integer
的參數。
Delegate Function Del(ByVal p As Integer) As String
因此,指派給類型 Del
之變數的任何 Lambda 運算式的對應參數可以是 Integer
或可從 Integer
擴展轉換的任何資料類型。
' Valid.
Dim example1 As Del = Function(n As Integer) "Valid"
Dim example2 As Del = Function(n As Long) "Valid"
' Not valid.
Dim example3 As Del = Function(n As Short) "Not Valid"
錯誤 ID︰ BC36662
變更委派或 Lambda 運算式中之參數的資料類型,以確保存在擴展關聯性。
不要指定 Lambda 運算式中的參數資料類型。 類型將從委派中的對應參數進行推斷。
Dim example4 As Del = Function(n) "Valid"