所以问题来了:我已经编写了一个应用程序来调用 Fedex运输API,但现在我还需要在运输请求之后立即发出单独的费率请求。(原因是我需要数据和指标的非帐户费率,但我没有获得第三方发货请求的任何费率)。当我创建费率请求时,我可以为简单的值做这样的事情:
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 会抱怨它无法在船舶地址类型和费率地址类型之间进行转换(尽管它们是相同的)。我可以一次设置一个“raterequest”参数(即“Address.City”),但这很麻烦而且我最终想做一些更复杂的事情(即使用相同的请求参数调用多个API,而附加代码最少)。是否有任何通用解决方案,以便可以来回转换相同的复杂类型(但在不同的命名空间中)?