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"
    

請參閱

概念

Lambda 運算式

擴展和縮小轉換

寬鬆委派轉換

其他資源

Visual Basic 中的委派