Option Strict On では、各ラムダ式のパラメーターの型を推論できない場合、そのパラメーターを 'As' 句で宣言する必要があります。

ラムダ式で As 句を使用せずにパラメーター宣言し、 Option Strict がオンになっています。

' Not valid when Option Strict is on.  
' Dim increment1 = Function (n) n + 1  

n の型が推論できる場合、前の宣言は有効です。 たとえば、前のラムダ式を関数デリゲート Delに割り当てられる場合があります。

Delegate Function Del(ByVal p As Integer) As Integer  

n の型はパラメーター pから推測できます。

Dim increment2 as Del = Function(n) n + 1  

エラー ID: BC36642

このエラーを解決するには

  • As 句をパラメーター宣言に追加します。

    Dim increment3 = Function (n As Integer) n + 1  
    

関連項目