Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Com Option Strict on, você não pode ter uma conversão de estreitamento entre o tipo de dados de um parâmetro em um delegado e o parâmetro correspondente de uma expressão lambda atribuída a uma variável desse tipo de delegado. Por exemplo, no código a seguir, delegate 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ída a uma variável do tipo Del pode ser um Integer ou qualquer tipo de dados para o qual há uma conversão de ampliação 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 na expressão delegada ou lambda para que exista a relação de ampliação necessária.
Não especifique tipos de dados de parâmetro na expressão lambda. Os tipos serão inferidos a partir dos parâmetros correspondentes no delegado.
Dim example4 As Del = Function(n) "Valid"