Parametr "ByRef" "<nazwa_>parametru" nie może być używany w wyrażeniu lambda

Wyrażenie lambda zadeklarowane w ramach Sub funkcji lub nie może używać żadnych ByRef parametrów tej Sub funkcji lub . Na przykład poniższy kod spowoduje ten błąd, ponieważ ByRef parametr jest używany w wyrażeniu n lambda.

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

Identyfikator błędu: BC36639

Aby poprawić ten błąd

  • ByRef Przypisz parametr do zmiennej lokalnej i użyj zmiennej lokalnej w wyrażeniu lambda, jak pokazano w poniższym kodzie:

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

Zobacz też