不能在结构中的 lambda 表达式中使用实例成员和“Me”

更新:2007 年 11 月

已经在结构内定义引用该结构的实例成员或者使用 Me 的 lambda 表达式。下面的代码阐释这两种无效引用。

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
    

请参见

概念

lambda 表达式

参考

Me

Structure 语句