如何将[DataMember]用于IEnumerable<;字符串>;对于WCF中的属性
我正在尝试为下面的类使用[DataContract]和[DataMember]如何将[DataMember]用于IEnumerable<;字符串>;对于WCF中的属性,wcf,Wcf,我正在尝试为下面的类使用[DataContract]和[DataMember] [DataContract] public abstract class TestClass { #region Public Contructors protected TestClass() { } #endregion #region Public Properties [DataMember] public IEnume
[DataContract]
public abstract class TestClass
{
#region Public Contructors
protected TestClass()
{
}
#endregion
#region Public Properties
[DataMember]
public IEnumerable<string> Subjects { get; set; }
#endregion
}
[DataContract]
公共抽象类TestClass
{
#地区公共建筑商
受保护的TestClass()
{
}
#端区
#区域公共财产
[数据成员]
公共IEnumerable主题{get;set;}
#端区
}
我得到以下错误
无法序列化成员TestClass.Subjects
属于System.Collections.Generic.IEnumerable`1[[System.String,
mscorlib,版本=4.0.0.0,区域性=中性,
PublicKeyToken=b77a5c561934e089]]因为它是一个接口
我该怎么解决这个问题呢?正如错误消息所说,您不能序列化像
IEnumerable
这样的接口。
尝试使用一个具体的集合,比如List
,甚至string[]
请记住,通过WCF发送的序列化的
类可能更适合作为代理类或DTO,因此这样您就不会弄乱您的业务模型
希望这有助于可能的重复: