Поделиться через


Члены экземпляров и Me нельзя использовать в лямбда-выражениях в структурах

Обновлен: Ноябрь 2007

Instance members and 'Me' cannot be used within a lambda expression in structures

В структуре было определено лямбда-выражение, которое ссылается на член экземпляра структуры или использует 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

Идентификатор ошибки: BC36638

Исправление данной ошибки

  • Присвойте член экземпляра локальной переменной и используйте ее в операторе.

    Public Function ExampleFunFix() As Integer
        Dim temp = InstanceMember
        Dim fun1 = Function() temp
        Return fun1()
    End Function
    

См. также

Основные понятия

Лямбда-выражения

Ссылки

Me

Инструкция Structure