首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中将联邦快递托运请求类型转换为费率请求类型?

如何在C#中将联邦快递托运请求类型转换为费率请求类型?
EN

Stack Overflow用户
提问于 2012-06-11 17:55:34
回答 2查看 505关注 0票数 2

所以问题是:我已经编写了一个应用程序来调用联邦快递配送 API,但是现在我还需要在发送请求之后立即提出一个单独的rate请求。(原因是我需要一个数据和度量标准的非帐户费率,但我没有任何第三方装运请求的费率)。当我创建速率请求时,我可以对简单的值执行如下操作:

代码语言:javascript
复制
raterequest.RequestedShipment.ServiceType = (rateReference.ServiceType)shiprequest.RequestedShipment.ServiceType;

但是我不能用任何复杂的类型来做,就像这样:

代码语言:javascript
复制
raterequest.RequestedShipment.Shipper = (rateReference.Shipper)shiprequest.RequestedShipment.Shipper;

甚至像这样:

代码语言:javascript
复制
raterequest.RequestedShipment.Shipper.Address = (rateReference.Address)shiprequest.RequestedShipment.Shipper.Address;

..。因为.Net会抱怨它不能在ship地址类型和速率地址类型之间进行转换(尽管它们是相同的)。我可以一次设置一个"raterequest“参数。( "Address.City"),但这是一个麻烦,我最终想要做一些更复杂的事情(即使用相同的请求参数调用多个API,只需最少的额外代码)。对此是否有任何通用解决方案,以便可以来回转换相同的复杂类型(但在不同的名称空间中)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 18:05:58

自动机擅长这类事情。当从一种类型复制到另一种类型时,它通常会做“明智”的事情,而当它没有做明智的事情(或者需要做一些荒谬的事情)时,您可以将其挂钩并定义应该发生的事情。

票数 1
EN

Stack Overflow用户

发布于 2012-06-11 18:09:46

您可以定义自定义的隐式强制转换操作符,以便在类似的raterequest类和shiprequest类之间进行转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10985120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档