我使用converter.telerik.com转换了此代码
发件人
public Decimal CartTotal()
{
return this.Items.Sum<CartItem>((Func<CartItem, Decimal>) (x => x.Total));
}
收件人
Public Function CartTotal() As Decimal
Return Me.Items.Sum(Of CartItem)(CType((Function(x) x.Total), Func(Of CartItem, Decimal)))
End Function
但是编译器说
过载解析失败,因为没有可访问的“和”接受此 类型参数的数量。
答案 0 :(得分:0)
这是关于应该是什么的问题,还是有关Telerik转换器的问题?如果是后者,那么您可能希望与Telerik接洽...
如果是前者,那么也许
Return (from item as CartItem in items Select item.Total).Sum()
答案 1 :(得分:0)
您只需要将通用说明符放在'Sum'上即可
Public Function CartTotal() As Decimal
Return Me.Items.Sum(CType(Function(x) x.Total, Func(Of CartItem, Decimal)))
End Function
确切地解释了为什么VB对此有问题,但是现在这是一个普遍的问题。通常,此问题会影响任何IEnumerable扩展方法的使用。