Não é possível usar o parâmetro 'ByRef' '<parametername>' em uma expressão lambda

Uma expressão lambda declarada em uma Sub ou função não pode usar parâmetros ByRef dessaSub ou função. Por exemplo, o código a seguir causará 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 do Erro: BC36639

Para corrigir este erro

  • Atribua o parâmetro ByRef a uma variável local e use a variável local na expressão lambda, como mostra o código a seguir:

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

Confira também