Поделиться через


Параметр ByRef <имяПараметра> нельзя использовать в лямбда-выражении

Обновлен: Ноябрь 2007

'ByRef' parameter '<parametername>' cannot be used in a lambda expression

Лямбда-выражение объявлено внутри Sub или функция не может использовать какие либо параметры ByRef данного Sub или функции. Например, следующий код вызовет эту ошибку, поскольку параметр ByRefn используется в лямбда-выражении.

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

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

'End Sub

Идентификатор ошибки: BC36639

Исправление данной ошибки

  • Присвойте параметр ByRef локальной переменной и используйте локальную переменную в лямбда-выражении, как показано в следующем коде.

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

См. также

Основные понятия

Лямбда-выражения