次の方法で共有


インスタンス メンバーおよび 'Me' を構造体のラムダ式内で使用することはできません

構造体の内部から、この構造体のインスタンス メンバーを参照するか Meを使用するラムダ式を定義しました。 次のコードで、これらの 2 つの正しくない参照の例を示します。

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  

関連項目