1

我需要将一些对象容器传递给 WCF 调用

[DataContract]
class Foo
{
 // other fields omited

 [DataMember]
 public List<Foo> MyList;
}

可以序列化吗?如果不是,我有什么选择?

4

2 回答 2

2

没关系,但结果类型将是数组而不是列表。我偏爱在合同中使用数组,只是为了确保我不会尝试将它用作其他地方的列表。

于 2009-12-01T12:28:26.077 回答
0

即使您不应用 DataContract,它也会成功序列化。唯一的条件是序列化中所有使用的类型都具有无参数构造函数(即使是私有的也可以),例如:

List<T> - already has it.
Foo - have it by default.
于 2016-08-15T06:46:31.103 回答