我有一个[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]属性的子对象。
我没有得到任何编译时错误。
请指导。
答案 0 :(得分:3)
你所做的一切都是正确的。 DataContract应用于类型,DataMember应用于属性以指定是否应包含它。