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

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

VB
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

请参阅