2010-11-22 98 views
1

我有[DataContract]類模板聲明如下:WCF - 數據成員作爲DataContract

[DataContract] 
public abstract class Template 
{ 
    [DataMember] 
    public virtual int? Id { get; set; } 

    [DataMember] 
    public virtual byte[] TemplateDoc { get; set; } 

    [DataMember] 
    public virtual string Title { get; set; } 

    [DataMember] 
    public virtual TemplateStatusInfo TemplateStatus { get; set; } 
} 

[DataContract] 
public class TemplateStatusInfo 
{ 
    [DataMember] 
    public virtual List<string> ValidCodes { get; set; } 

    [DataMember] 
    public virtual List<string> InvalidCodes { get; set; } 

    [DataMember] 
    public virtual string TemplateError { get; set; } 
} 

正如你所看到的模板有一個[數據成員]子對象 'TemplateStatusInfo'。
我只想確定它在WCF中是否有效,以聲明具有兩個屬性 - [DataMember]以及[DataContract]的子對象。
我沒有收到任何編譯時錯誤。

請指導。

回答

3

這是正確的,你已經做了。 DataContract應用於類型,DataMember應用於屬性以指定是否應包含它。