gpt4 book ai didi

c# - 使用 QBFC 检查 quickbooks 中的空值

转载 作者:太空宇宙 更新时间:2023-11-03 21:30:43 26 4
gpt4 key购买 nike

我正在尝试获取 quickbooks 数据库中的项目列表。我有以下代码片段:

                    IItemServiceRet itemServiceRet = itemRet.ItemServiceRet;

TestItem item = new TestItem();
item.Name = itemServiceRet.Name.GetValue();
item.Desc = itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc.GetValue();
item.Rate = itemServiceRet.ORSalesPurchase.SalesOrPurchase.ORPrice.Price.GetValue().ToString();
item.ItemType = "Service";
item.QBID = itemServiceRet.ListID.GetValue();
item.EditSeq = itemServiceRet.EditSequence.GetValue();

行代码失败:

item.Desc = itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc.GetValue();
"Object reference not set to an instance of an object"

因为 QB 数据库中的特定服务项目没有描述。我很好奇是否有一种“干净”的方法来检查空值,而不必让每一行都包含一个 if 语句来检查 GetValue() 是否返回 null?

编辑:在尝试了 Andrew Cooper 的解决方案之后:

item.Desc = itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc == null ? null : itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc.GetValue();

它仍然抛出异常:

Object reference not set to an instance of an object

如果没有描述,就好像 GetValue() 根本不返回任何内容,这没有多大意义。

最佳答案

你可以像这样使用三元运算符:

item.Desc = itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc == null ? null : itemServiceRet.ORSalesPurchase.SalesOrPurchase.Desc.GetValue();

但这很丑陋。

最好的办法是创建一个辅助方法,它采用任何类型 Desc 并包装上述逻辑。

关于c# - 使用 QBFC 检查 quickbooks 中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24371292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com