我有:
[DataContract]
public class A
{
[DataMember]
public int X { get; set; }
}
[DataContract]
[KnownType(typeof(Derived<A>))]
public class Base {}
[DataContract]
public class Derived<T>: Base {
[DataMember]
public T Data {get; set; }
}
服务方法返回包含派生类对象的基类的 IEnumerable。自动生成的 WCF 客户端检索数据并正确检测类型并创建 Derived 类的实例,但 Derived.Data.X 未映射,即具有 0。收到的 soap 消息是正确的。为什么派生类的泛型属性没有从客户端的肥皂消息正确映射的任何想法?