Der ByRef-Parameter „<Parametername>“ kann in einem Lambdaausdruck nicht verwendet werden.

Ein innerhalb einer Sub oder Funktion deklarierter Lambdaausdruck kann keine ByRef -Parameter dieser Sub oder Funktion verwenden. Beispielsweise verursacht der folgende Code diesen Fehler, da der ByRef -Parameter n im Lambdaausdruck verwendet wird.

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

Fehler-ID: BC36639

So beheben Sie diesen Fehler

  • Weisen Sie den ByRef -Parameter einer lokalen Variablen zu, und verwenden Sie die lokale Variable im Lambdaausdruck, wie im folgenden Code dargestellt:

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

Siehe auch