Compartir a través de


El parámetro "<parametername>" de "ByRef" no se puede usar en una expresión lambda

Una expresión lambda se declarada dentro de una declaración Sub o una función no puede usar cualquier parámetros ByRef de dicha Sub o función. Por ejemplo, el siguiente código provocará este error porque el parámetro ByRef de n se usa en la expresión lambda.

'' Not valid.
'Sub ExampleSub(ByRef n As Integer)  
  
'    Dim lambda = Function(p As Integer) p + n  
  
'End Sub  

Identificador de error: BC36639

Para corregir este error

  • Asigne el parámetro de ByRef a una variable local y use la variable local en la expresión lambda, como se muestra en el código siguiente:

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

Consulte también