Option Strict On não permite restringir em conversões implícitas de tipo entre a expressão lambda e delegar '< delegateName >'
Com Option Strict ativado, você não pode ter uma conversão de restrição entre o tipo de dados de um parâmetro em um representante e o parâmetro correspondente de uma expressão lambda atribuído a uma variável do tipo delegado.Por exemplo, no código a seguir, o representante Del tem um parâmetro do tipo Integer.
Delegate Function Del(ByVal p As Integer) As String
Portanto, o parâmetro correspondente de qualquer expressão lambda atribuído a uma variável do tipo Del pode ser um Integer ou qualquer tipo de dados para o qual não haja uma conversão ampliadora de Integer.
' Valid.
Dim example1 As Del = Function(n As Integer) "Valid"
Dim example2 As Del = Function(n As Long) "Valid"
' Not valid.
Dim example3 As Del = Function(n As Short) "Not Valid"
ID de erro: BC36662
Para corrigir este erro
Altere o tipo de dados do parâmetro em que o representante ou o método de extensão para que a relação de ampliação necessária exista..
Não especificar tipos de dados de parâmetros na expressão lambda.Tipos serão inferidos dos dos parâmetros correspondentes no representante.
Dim example4 As Del = Function(n) "Valid"
Consulte também
Conceitos
Conversões Ampliadoras e Redutoras
Conversão de delegado reduzida