Lambda 表达式无法转换为“<typename>”,因为“<typename>”不是委托类型

如果委托有效,可以使用 Lambda 表达式。 可以将其转换为兼容的委托类型,但不可转换为任何其他类型。 例如,可以定义一个委托类型并向其分配一个 lambda 表达式,或将 lambda 表达式作为实参发送到 Func<TResult> 形参。 在下面的代码中演示了这些示例。

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: BC36625

请参阅