我正在使用 AutoMapper,当我尝试在三元运算符中分配 null 时,一行会导致错误,如下所示:
.ForMember(dest => dest.VatCategoryTaxAmount,
opt => opt.MapFrom(src => src.TaxSubtotal != null &&
src.TaxSubtotal.TaxCategory != null
? double.Parse(src.TaxSubtotal.TaxCategory.Percent)
: null));
错误:
无法将匿名方法块转换为类型“type”,因为它不是委托类型
当我使用
0
而不是 null
时,它就可以工作了。
我很困惑,因为目标属性的类型是
double?
。我想为其分配一个空值。
我怎样才能做到这一点?
问题是你的条件赋值不返回相同的类型。
src.TaxSubtotal.TaxCategory != null ? double.Parse(src.TaxSubtotal.TaxCategory.Percent) : null
如果为 true,则返回
double
;如果为 false,则返回 null
。尝试将真正的赋值转换为可空值。