项目中需要使用继承关系,一个函数返回特定的子类,在序列化的时候需要告诉序列化器,在父类文件中使用KownType注释即可。
namespace HealthAdminWebService.logic
{
[DataContract]
[KnownType(typeof(RunnerPrescriptionInfo))]
[KnownType(typeof(SomaticPrescriptionInfo))]
[KnownType(typeof(StrengthPrescriptionInfo))]
public class DevicePrescriptionInfo
{
[DataMember]
public string DeviceName { get; set; }
[DataMember]
public string ExerciseStep { get; set; }
[DataMember]
public string ExerciseStrength { get; set; }
[DataMember]
public string ExerciseTime { get; set; }
[DataMember]
public string TestStrength { get; set; }
}
}
稍微详细的说明可参见http://hi.baidu.com/mldark/item/387b6ad24c5cafe6b2f77764
自己对wcf和序列化的知识接近空白,何时补补?