qq_17031883 2025-09-08 13:38 采纳率: 36.4%
浏览 19
已结题

c#保存出错,什么原因,System.Nullable1<System.Decimal> XHZQ.WuLiu.Model.WLWXBomInPutTab.get_ShiJiQty()

打包后System.Nullable1<System.Decimal> XHZQ.WuLiu.Model.WLWXBomInPutTab.get_ShiJiQty() 保存出错,什么原因,类型错误吗?提示没有get方法?本地 vs跑却可以什么原因,model也更新了 错误信息: 找不到方法:“System.Nullable1<System.Decimal> XHZQ.WuLiu.Model.WLWXBomInPutTab.get_ShiJiQty()”。

img

img

  • 写回答

6条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-09-08 14:04
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案让您满意,请采纳、点赞、关注,非常感谢!
    .
    每日一句正能量,让它带给您好心情:你值得被温柔对待,也值得拼尽全力去争取。
    .

    根据错误信息和提供的代码截图分析,这个问题是由于属性类型不匹配导致的编译错误。

    问题原因

    1. 错误信息显示系统在寻找一个返回 System.Nullable<decimal> 类型的 get_ShiJiQty() 方法
    2. 代码截图显示 ShiJiQty 属性的实际定义是 System.Nullable<int> 类型

    具体分析

    // 错误信息期望的类型
    System.Nullable<decimal> get_ShiJiQty()
    
    
    // 代码中实际定义的类型  
    public virtual System.Nullable<int> ShiJiQty { get; set; }
    // 这里应该是 decimal 而不是 int
    

    解决方案

    修改 WLWXBomInPutTab 类中的 ShiJiQty 属性类型:

    // 将 int 改为 decimal
    [DisplayName("实际消耗数量")]
    [DataMember()]
    public virtual System.Nullable<decimal> ShiJiQty { get; set; }
    

    可能的原因

    1. 数据库字段类型可能是 decimal,但代码中误写为 int
    2. 其他代码部分引用了 decimal 类型的该属性
    3. WCF服务契约中期望的是 decimal 类型

    建议检查

    1. 检查数据库中对应字段的数据类型
    2. 确保所有引用该属性的地方类型一致
    3. 重新编译整个解决方案,确保所有项目都使用更新后的类型

    这个类型不匹配导致了运行时找不到正确的方法签名,从而出现"找不到方法"的错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 修改了问题 9月9日
  • 修改了问题 9月8日
  • 展开全部