下面是我的WCF DataContract基类WCF衍生DataContract不基地DataContract的财产继承
[DataContract]
public class BaseClass
{
//some datamembers
}
这里是我的派生类....
[DataContract]
public class DerivedClass1 : BaseClass
{
[DataMember]
public string ProductName{get;set;}
}
由于需求的某些变化,我添加了一个派生类型,它也具有相同的属性'ProductName'。
所以代码结构,现在是....
[DataContract]
public class BaseClass
{
//some datamembers
[DataMember]
public string ProductName{get;set;}
}
[DataContract]
public class DerivedClass1 : BaseClass
{
//[DataMember]
//public string ProductName{get;set;} property moved to base class
}
[DataContract]
public class DerivedClass2 : BaseClass
{
//some datamembers specific to DerivedClass2
}
让我感动财产“产品名称”基类。但是现在,当从客户端调用现有的datacontract时,返回Derivedclass1的列表,我没有看到productName作为响应。不知何故,我的DerivedClass1并没有影响base的productName属性。 可能是什么原因?我在编写代码时犯了什么错误?
是否也用'DataMember'属性注释的基类成员?编辑:nevermind ...更仔细阅读帖子。您是否重新创建了来电者的服务参考? – mckeejm
它工作正常!我试过了。没有问题 –
你是什么意思'我没有看到productName的回应? 'ProductName'属性是否设置为null?你有没有更新客户端的代理定义? – YK1