Le paramètre 'ByRef' '<NomParamètre>' ne peut pas être utilisé dans une expression lambda

Mise à jour : novembre 2007

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

Une expression lambda déclarée dans une fonction Sub ou une fonction ne peut pas utiliser les paramètres ByRef de ce Sub ou de cette fonction. Par exemple, le code suivant provoquera cette erreur car le paramètre ByRefn est utilisé dans l'expression lambda.

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

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

'End Sub

ID d'erreur : BC36639

Pour corriger cette erreur

  • Assignez le paramètre ByRef à une variable locale et utilisez la variable locale dans l'expression lambda, comme illustré dans le code suivant.

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

Voir aussi

Concepts

Expressions lambda