Auf Englisch lesen

Freigeben über


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