'ByRef' パラメータ '<parametername>' をラムダ式で使用することはできません

更新 : 2007 年 11 月

Sub または関数の中で宣言したラムダ式では、その Sub または関数の ByRef パラメータを使用できません。たとえば、以下のコードでは、ラムダ式で ByRef パラメータ n を使用しているので、このエラーが発生します。

'' Not valid. 
'Sub ExampleSub(ByRef n As Integer)

'    Dim lambda = Function(p As Integer) p + n

'End Sub

エラー ID: BC36639

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

  • 次のコードに示すように、ByRef パラメータをローカル変数に割り当てて、そのローカル変数をラムダ式で使用します。

    Sub ExampleSub(ByRef n As Integer)
    
        Dim temp = n
        Dim lambda = Function(p As Integer) p + temp
    
    End Sub
    

参照

概念

ラムダ式