WCF集合序列化,IList还是List?有关系吗?

时间:2011-08-10 19:45:37

标签: wcf serialization

在WCF上进行序列化时是否有一个更好的集合对象?我正在尝试在List或IList之间做出决定,并想知道它是否有所作为?

1 个答案:

答案 0 :(得分:10)

从序列化的角度来看无关紧要。线路上没有 IList 列表。两者都会产生相同的XML。

来自MSDN

  

相同类型的所有列表集合都被视为具有相同的列表集合   数据合同(除非使用   CollectionDataContractAttribute属性,将在后面讨论   因此,例如,以下数据合同是等价的。

[DataContract(Name = "PurchaseOrder")]
public class PurchaseOrder1
{
    [DataMember]
    public string customerName;
    [DataMember]
    public Collection<Item> items;
    [DataMember]
    public string[] comments;
}

[DataContract(Name = "PurchaseOrder")]
public class PurchaseOrder2
{
    [DataMember]
    public string customerName;
    [DataMember]
    public List<Item> items;
    [DataMember]
    public BindingList<string> comments;
}