'ByRef' 參數 '<parametername>' 不能在 Lambda 運算式中使用
更新: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