A expressão do Lambda não pode ser convertida em '<typename>' porque '<typename>' não é um tipo delegado

As expressões do Lambda podem ser usadas onde os delegados são válidos. Eles podem ser convertidos em tipos de delegados compatíveis, mas não em qualquer outro tipo. Por exemplo, você pode definir um tipo de delegado e atribuir uma expressão lambda a ele ou enviar uma expressão lambda como argumento para um Func<TResult> parâmetro. Esses exemplos são mostrados no código a seguir.

Module Module1

    Delegate Function FunDel(ByVal m As Integer) As Boolean

    Sub Main()

        ' Assign a lambda expression to a function delegate.
        Dim negative As FunDel = Function(n As Integer) n < 0
        Console.WriteLine(negative(-3))

        ' Send a lambda as the argument to a delegate parameter.
        Dim numbers() As Integer = {3, 4, 2, 8, 1, 0, 9, 13, 42}
        Dim evens = numbers.Where(Function(n) n Mod 2 = 0)

        For Each even In evens
            Console.WriteLine(even)
        Next

    End Sub

End Module

ID de erro: BC36625

Consulte também