A opção Strict On exige que cada parâmetro de expressão lambda seja declarado com uma cláusula 'As' se seu tipo não puder ser inferido

Você declarou um parâmetro em uma expressão lambda sem usar uma As cláusula, com Option Strict on.

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

A declaração anterior é válida se o tipo de n declaração puder ser deduzido. Por exemplo, se você estiver atribuindo a expressão lambda anterior a um delegado de função, Del:

Delegate Function Del(ByVal p As Integer) As Integer  

Agora o tipo de pode ser inferido n a partir do parâmetro p:

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

ID de erro: BC36642

Para corrigir este erro

  • Adicione uma As cláusula à declaração de parâmetro:

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

Consulte também