计算属性的错误

时间:2011-12-16 19:30:01

标签: visual-studio-lightswitch

我正在关注如何使用lightswitch系列,并将代码从VB转换为C#

我遇到了一个计算属性,它将两个字段相乘并返回结果

错误是“无法隐式转换类型'小数?”为'十进制'。存在显式转换(您是否错过了演员?)“。

我不确定为什么我需要一个演员,因为他们都属于同一类型

thanks,
Jason

VB代码

Private Sub LineItemTotal_Compute(ByRef result As Decimal)
      result = Me.Quantity * Me.Price
End Sub

C#代码

 private void LineItemTotal_Compute(ref decimal result)
  {
      result = this.Quantity * this.Price;
  }

line item total screenshot

1 个答案:

答案 0 :(得分:0)

您的属性为decimal ? s(可为空)。

如错误所述,您不能将可空小数隐式转换为普通(不可为空)小数。

相反,如果?? 0为空,您可以写0来合并到{{1}}。 但是,您应该考虑使其他列不可为空,以完全避免这个问题。