Partilhar via


'ByRef' parâmetro '<parâmetroname>' não pode ser usado em uma expressão lambda

Uma expressão lambda declarada dentro de um Sub ou função não é possível usar nenhum ByRef parâmetros do que Sub ou função. Por exemplo, o código a seguir fará com que esse erro porque o ByRef parâmetro n é usado na expressão lambda.

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

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

'End Sub

ID de erro: BC36639

Para corrigir este erro

  • Atribuir o ByRef parâmetro a uma variável local e usar a variável local na expressão lambda, conforme mostrado no código a seguir:

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

Consulte também

Conceitos

Expressões Lambda