gpt4 book ai didi

c# - 如何在 C# 中将 Fedex 运输请求类型转换(或强制转换)为费率请求类型?

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:51 24 4
gpt4 key购买 nike

所以问题来了:我已经编写了一个调用 Fedex shipping API 的应用程序,但现在我还需要在发送请求后立即发出单独的 rate 请求. (原因是我需要数据和指标的非帐户费率,但我没有获得第三方发货请求的任何费率)。当我创建费率请求时,我可以为简单的值做这样的事情:

raterequest.RequestedShipment.ServiceType = (rateReference.ServiceType)shiprequest.RequestedShipment.ServiceType;

但我不能对任何复杂类型执行此操作,如下所示:

raterequest.RequestedShipment.Shipper = (rateReference.Shipper)shiprequest.RequestedShipment.Shipper;

或者甚至像这样:

raterequest.RequestedShipment.Shipper.Address = (rateReference.Address)shiprequest.RequestedShipment.Shipper.Address;

... 因为 .Net 会提示它无法在 ship Address 类型和 rate Address 类型之间进行转换(尽管它们是相同的)。我可以一次设置一个“raterequest”参数(即“Address.City”),但这很麻烦而且我最终想做一些更复杂的事情(即使用相同的请求参数调用多个 API,附加代码最少)。是否有任何通用的解决方案,以便可以来回转换相同的复杂类型(但在不同的命名空间中)?

最佳答案

Automapper擅长这种事情。当从一种类型复制到另一种类型时,它通常会做“明智”的事情,而当它没有做明智的事情(或需要一些无意义的事情)时,您可以 Hook 它并定义应该发生什么。

关于c# - 如何在 C# 中将 Fedex 运输请求类型转换(或强制转换)为费率请求类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985120/

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