No se pueden usar miembros de instancia ni 'Me' dentro de una expresión lambda en estructuras

Desde dentro de una estructura, se ha definido una expresión lambda que hace referencia a un miembro de instancia de la estructura o usa Me. El código siguiente muestra estas dos referencias no válidas.

Structure Structure1  
  
    Public InstanceMember As Integer  
  
    Public Function ExampleFun() As Integer  
        '' The error is caused by use of InstanceMember.  
        'Dim fun1 = Function() InstanceMember  
        '' The error is caused by use of Me.  
        'Dim fun2 = Function() Me.InstanceMember  
        'Return fun1()  
    End Function  
  
End Structure  

Identificador de error: BC36638

Para corregir este error

  • Asigne el miembro de instancia a una variable local y use la variable local en la instrucción.
Public Function ExampleFunFix() As Integer  
    Dim temp = InstanceMember  
    Dim fun1 = Function() temp  
    Return fun1()  
End Function  

Consulte también