当作为参数使用时,无法推断操作委托的返回类型
本文关键字:操作 返回类型 参数 | 更新日期: 2023-09-27 17:50:14
我在VB中有以下方法。净:
Private Sub DelegateTest(ByVal doSomething As Action(Of TrimEntry))
doSomething(New TrimEntry())
End Sub
下面调用该方法的尝试将导致编译时错误无法推断返回类型。考虑添加'As'子句来指定返回类型。(为了简洁起见,我省略了一些代码,但我的调用需要不止一行语句。)
DelegateTest(Function(item)
item.Length = 0
End Function)
也许我被c#宠坏了,但是在c#中它是相当直接的。
DelegateTest(item => { item.Length = 0; })
:为什么出现这个错误?我很困惑,因为类型是一个Action委托,它返回void。为什么返回类型会出现错误?
由于您的匿名方法没有返回值,您需要使用Sub
而不是Function
。