不能在 lambda 表达式中使用“ByRef”参数“<parametername>”
更新:2007 年 11 月
在 Sub 或函数中声明的 lambda 表达式不能使用该 Sub 或函数的任何 ByRef 参数。例如,由于在 lambda 表达式中使用了 ByRef 参数 n,因此,以下代码将导致此错误。
'' Not valid.
'Sub ExampleSub(ByRef n As Integer)
' Dim lambda = Function(p As Integer) p + n
'End Sub
**错误 ID:**BC36639
更正此错误
将 ByRef 参数分配给某个局部变量,并且在 lambda 表达式中使用该局部变量,如下面的代码所示:
Sub ExampleSub(ByRef n As Integer) Dim temp = n Dim lambda = Function(p As Integer) p + temp End Sub