Lambdaausdruck kann nicht in <typename> konvertiert werden, da <typename> kein Delegattyp ist

Lambdaausdrücke können dort verwendet werden, wo Delegaten gültig sind. Sie können in kompatible Delegattypen, aber nicht in einen anderen Typ konvertiert werden. Sie können z. B. einen Delegattyp definieren und ihm einen Lambdaausdruck zuweisen oder einen Lambdaausdruck als Argument an einen Func<TResult> -Parameter senden. Diese Beispiele werden im folgenden Code veranschaulicht.

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

Fehler-ID: BC36625

Siehe auch