在WCF上进行序列化时是否有一个更好的集合对象?我正在尝试在List或IList之间做出决定,并想知道它是否有所作为?
答案 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;
}