2012-02-14 84 views
1

我有一個DataContract稱爲Credentials,我已將其繼承到我自己的業務對象MyCredentials並進行了自定義。我想通過電匯發送它,但可以理解的是,我得到一個錯誤。繼承WCF中的DataContract

有,而試圖序列參數

有沒有解決這個而不做業務對象和DataContracts之間的轉換方式的錯誤?我的代碼工作看起來像這樣

[DataContract] 
[KnownType(typeof(Credentials))] 
internal class MyCredentials : Credentials 
{ 
    public MyCredentials() 
    { 
    } 
} 

回答

3

您需要使用KnownType-Attribute修飾基類Credientials。

[DataContract] 
[KnownType(typeof(MyCredentials))] 
publice class Credentials 
{ 
    public Credentials() 
    { 
    } 
} 

此外,我認爲你需要使類公開,而不是內部時,你用DataContractAttribute裝飾它。

[DataContract] 
public class MyCredentials : Credentials { 
    public MyCredentials() { 
    } 
} 
0

輔助功能修飾符在它是合同後不會影響DataContract。