下面是我的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