英語で読む

次の方法で共有


'<型名>' はデリゲート型ではないため、ラムダ式を '<型名>' に変換できません

ラムダ式は、デリゲートが使用できる場所で使用できます。 ラムダ式は互換性のあるデリゲート型には変換できますが、その他の型には変換できません。 たとえば、デリゲート型を定義してこれにラムダ式を割り当てることや、ラムダ式を 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

関連項目