Option Strict On 不允許縮小 Lambda 運算式和委派 '<delegatename>' 之間的隱含型別轉換
更新:2007 年 11 月
使用 Option Strict 時,您無法縮小委派中參數之資料型別,以及指派給該委派型別之變數的 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"