戻り値が不要な場合は Func ではなく、Action を使用します。
エラーの原因
Func は 関数の戻り値が必要な場合に使用します。戻り値が不要な場合は「Action」を使用します。エラー発生例
'コンパイルエラー
'BC36625 'Func()' は、デリゲート型でないため、ラムダ式を 'Func()' に変換できません。
'BC32042 'Func(Of In T1, In T2, In T3, In T4, In T5, In T6, In T7, In T8, In T9, Out TResult)' の型引数が少なすぎます。
Dim fnc As Func() = Sub()
'code
End Sub
対処方法
Func() を Action に置き換えます。'Func ではなく、Action を使用する
Dim act As Action = Sub()
'code
End Sub
検証環境
- Microsoft Visual Studio Professional 2017 Version 15.9.21
- Microsoft .NET Framework Version 4.8.03752
- Microsoft Windows 10 Pro Version 1909 OS Build 18363.904