Elementów członkowskich wystąpienia i "Me" nie można używać w wyrażeniu lambda w strukturach

W strukturze zdefiniowano wyrażenie lambda, które odwołuje się do elementu członkowskiego wystąpienia struktury lub używa elementu Me. Poniższy kod ilustruje te dwa nieprawidłowe odwołania.

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  

Identyfikator błędu: BC36638

Aby poprawić ten błąd

  • Przypisz element członkowski wystąpienia do zmiennej lokalnej i użyj zmiennej lokalnej w instrukcji .
Public Function ExampleFunFix() As Integer  
    Dim temp = InstanceMember  
    Dim fun1 = Function() temp  
    Return fun1()  
End Function  

Zobacz też