인스턴스 멤버와 'Me'는 구조체의 람다 식에 사용할 수 없습니다.

구조체 내에서 구조체의 인스턴스 멤버를 참조하거나 Me를 사용하는 람다 식을 정의했습니다. 다음 코드에서는 이러한 두 개의 잘못된 참조를 보여 줍니다.

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  

오류 ID: BC36638

이 오류를 해결하려면

  • 인스턴스 멤버를 지역 변수에 할당하고 문에서 지역 변수를 사용합니다.
Public Function ExampleFunFix() As Integer  
    Dim temp = InstanceMember  
    Dim fun1 = Function() temp  
    Return fun1()  
End Function  

참고 항목