【发布时间】:2015-04-10 11:57:12
【问题描述】:
我想返回包含项目数组的响应。
我希望能够在此响应中使用任何类。所以 item 数组是一个通用的 IList 属性。
我的客户端应用重用了 Response 和 Dto 类库。当尝试更新服务引用失败时;没有生成代理类。我搜索并发现我需要使用方式修复这个通用列表。
我怎样才能做到这一点?
响应类:
namespace x.Response
{
[DataContract]
public class BlockDataResponse<T> : ResponseBase
{
[DataMember]
public IList<BlockDataDto<T>> DataList { get; set; }
}
}
响应类中的项目类:
namespace x.Dto
{
[DataContract]
public class BlockDataDto<T>
{
[DataMember]
public int RecordIndex { get; set; }
[DataMember]
public T Data { get; set; }
}
}
任何类型的课程:
namespace x.Dto.Definitions
{
[DataContract]
public class AbcDto : DtoBase<AbcDto>
{
[DataMember]
public string Property1 {get; set;}
//...
}
}
服务方式:
[OperationContract]
BlockDataResponse<AbcDto> GetAbcData(int startIndex, int blockSize);
【问题讨论】:
-
看看this。不确定是否重复。
-
谢谢,但这并不完全是我想要的。