Option Strict On richiede che ciascun parametro di espressione lambda venga dichiarato con una clausola 'As' se non è possibile dedurne il relativo tipo

È stato dichiarato un parametro in un'espressione lambda senza usare una clausola As con Option Strict On.

' Not valid when Option Strict is on.  
' Dim increment1 = Function (n) n + 1  

La dichiarazione precedente è valida se il tipo di n può essere dedotto. Se ad esempio si assegna l'espressione lambda precedente a un delegato della funzione, Del:

Delegate Function Del(ByVal p As Integer) As Integer  

A questo punto il tipo di n può essere dedotto dal parametro p:

Dim increment2 as Del = Function(n) n + 1  

ID errore: BC36642

Per correggere l'errore

  • Aggiungere una clausola As alla dichiarazione del parametro:

    Dim increment3 = Function (n As Integer) n + 1  
    

Vedi anche