現在、Newegg が提供するドキュメントを使用して Newegg に接続するためのクライアント ライブラリを開発しており、クラスの設計について質問があります。
さまざまな API (つまり、NetSuite および Amazon の MWS ) を操作する際に、次のように使用されているクラスに出くわしました。
recToFulfill.packageList = new ItemFulfillmentPackageList();
recToFulfill.packageList.package = new ItemFulfillmentPackage[ifitemlist.item.Length];
recToFulfill.packageList.package[i] = new ItemFulfillmentPackage();
recToFulfill.packageList.package[i].packageWeightSpecified = true;
recToFulfill.packageList.package[i].packageTrackingNumber = "trackingNumber";
私が持っている質問は、上記のようにネストされたオブジェクトを適切に設計するにはどうすればよいですか? 以前はこれについて心配する必要がなかったので、どこを見ればよいか、どこから始めればよいかわかりません。
把握する必要があるビットは次のようになります (提供されている API ドキュメントから取得)。
<UpdateOrderStatusInfo>
<IsSuccess></IsSuccess>
<Result>
<OrderNumber></OrderNumber>
<SellerID></SellerID>
<OrderStatus></OrderStatus>
</Result>
</UpdateOrderStatusInfo>
整数である注文番号を除いて、すべてのフィールドは文字列型です。
私は現在これを持っています:
public class UpdateOrderStatusInfo
{
public string IsSuccess { get; set; }
public int OrderNumber { get; set; }
public string SellerID { get; set; }
public string OrderStatus { get; set; }
}
しかし、返された XML 応答には結果が親ノードとして含まれており、クラス自体の中で表現する必要があるように思えます。私はこれをするだけですか?
public UpdateOrderStatusInfo results {get; set;}
もしそうなら、子ノードはどこに行きますか?
私が必要としているのは、次のようなことを言えるようになることです。
UpdateOrderStatusInfo updateInfo = new UpdateOrderStatusInfo();
if(updateInfo.IsSuccess.Equals("true")
{
Console.WriteLine(updateInfo.Results.OrderStatus);
}
この情報を入手する場所に関するヘルプやアドバイスをいただければ幸いです。