2009-12-01 133 views
1

容器我需要传递对象WCF的一些容器调用WCF,在DataContract

[DataContract] 
class Foo 
{ 
// other fields omited 

[DataMember] 
public List<Foo> MyList; 
} 

那是正确的序列化?如果不是我的选择是什么?

+0

我的意思是,如果列表 MYLIST将成功地序列化? –

回答

2

没关系,但结果类型是数组而不是列表。我偏爱在合约中使用数组,以确保我不会尝试将它用作其他位置的列表。

+0

你是什么意思列表将成为数组?请澄清。谢谢。 –

+2

您可以调整代理生成器以发出阵列或列表。我认为数组是默认的。 –

+1

会改变它到IList 那种? – MattC

0

即使您不应用DataContract,它也会成功序列化。唯一的条件是,在序列化所有使用的类型有参数的构造函数(甚至私人也可以),e.g:

List<T> - already has it. 
Foo - have it by default.