我正在尝试使用[DataContract]和[DataMember]为下面的类。
[DataContract]
public abstract class TestClass
{
#region Public Contructors
protected TestClass()
{
}
#endregion
#region Public Properties
[DataMember]
public IEnumerable<string> Subjects { get; set; }
#endregion
}
我得到以下错误
不能序列化成员TestClass。主题1 . [[System.String],mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]因为它是一个接口
我应该如何解决这个问题?
正如错误消息所说,您不能序列化像IEnumerable
这样的接口。尝试使用具体的集合,如List<string>
甚至string[]
。
请记住,您通过WCF发送的serialized
类可能最好是代理类或DTO,因此这样您就不会弄乱您的业务模型。
希望能有所帮助