WCF - DataMember作为DataContract

时间:2010-11-22 12:33:41

标签: 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; }
}

如您所见,Template有一个[DataMember]子对象'TemplateStatusInfo' 我只是想确保在WCF中是否有效声明具有属性 - [DataMember]和[DataContract]属性的子对象。
我没有得到任何编译时错误。

请指导。

1 个答案:

答案 0 :(得分:3)

你所做的一切都是正确的。 DataContract应用于类型,DataMember应用于属性以指定是否应包含它。