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

更新 : 2007 年 11 月

ラムダ式でパラメータが宣言されていますが、Option Strict がオンになっているのに As 句がありません。

' 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
    

参照

概念

ラムダ式