ここで問題があります。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 は、ship Address タイプと rate Address タイプの間で変換できないと文句を言うからです (それらは同じですが)。「raterequest」パラメーターを一度に 1 つずつ設定できます (つまり、「Address.City」) が、面倒であり、最終的にはもっと洗練された処理を実行したいと考えています (つまり、最小限の追加コードで同じ要求パラメーターを使用して複数の API を呼び出します)。同一の複合型 (ただし名前空間が異なる) を前後に変換できるように、これに対する一般的な解決策はありますか?