我的类调用带有以下结构的Web服务
[DataContract]
public class ResponseClassContainer
{
[DataMember]
public ResponseClass d { get; set; }
}
[DataContract]
public class ResponseClass
{
[DataMember]
public int ResponseCode { get; set; }
[DataMember]
public string ResponseMessage { get; set; }
[DataMember]
public object Response { get; set; }
}
容器是必需的,因为返回的json返回{“d”:{....}}
如果服务返回成功,则对象Response将填充任何被称为序列化json的对象。
问题是公共对象响应。因为它是一个对象,它几乎可以是任何东西,但我发现我必须明确说它是foo类型
[DataMember]
public foo Response {get;set;}
由于我可以对一大堆课程进行反序列化,我有没有办法
[DataMember]
public T Response {get;set;}
答案 0 :(得分:0)
你可以拥有
[DataMember]
public BaseResponse Response { get; set; }
其中BaseResponse类似于
[DataContract]
[KnownType(typeof(Child1))]
[KnownType(typeof(Child2))]
public class BaseResponse
和Child1 / Child2是类似
的类[DataContract]
public class Child1 : BaseResponse