Impossibile utilizzare membri di istanza e 'Me' in un'espressione lambda delle strutture

Aggiornamento: novembre 2007

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

Dall'interno di una struttura, è stata definita un'espressione lambda che si riferisce a un membro di istanza della struttura o utilizza Me. Nel codice seguente vengono illustrati questi due riferimenti non validi.

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 errore: BC36638

Per correggere l'errore

  • Assegnare il membro di istanza a una variabile locale e utilizzare la variabile locale nell'istruzione.

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

Vedere anche

Concetti

Espressioni lambda

Riferimenti

Me

Istruzione Structure