继续开发我在之前的帖子中提到的API,我遇到了以下情况:
我需要能够访问由...返回的响应列表 web服务。
问题是我不确定如何在这个类上实现IEnumerable。
...
public class ResponseBodyResponse
{
public ResponseListResponse ResponseList { get; set; }
public class ResponseListResponse
{
public ResponseInfoResponse ResponseInfo { get; set; }
public class ResponseInfoResponse
{
public string RequestId { get; set; }
public string RequestType { get; set; }
public DateTime RequestDate { get; set; }
public string RequestStatus { get; set; }
public string Error { get; set; }
public string Memo { get; set; }
}
public ResponseListResponse()
{
ResponseInfo = new ResponseInfoResponse();
}
}
public ResponseBodyResponse()
{
ResponseList = new ResponseListResponse();
}
...
在有人询问之前我确实得到了xsd文件的副本,但是使用xsd.exe生成类导致了一个荒谬的文件混乱,这些文件具有冲突的类名,导致超过1000个模糊的命名错误。
答案 0 :(得分:0)
您确实应该从Web服务而不是实现IEnumerable<T>
返回一个具体的集合,例如列表或数组,即使列表和数组(以及其他选择)确实实现了它。它不是IEnumerable<T>
序列化的关键。
除此之外,嵌套的类结构使您的代码难以使用。
由于我不确定您对上述代码的意图,因此这是一个示例
public class Road
{
public Car[] Cars { get; set; } // this can be also `List<Car>`
}
public class Car
{
// stuff
}