2011-05-24 54 views
2

我创建了一个WCF服务,该服务已定义了多个操作契约。我的其中一份合同返回已知类型的集合。该类型被定义为数据合同。使用DataContractSerializer序列化时命名'ArrayOf'

当收集由的DataContractSerializer XML表示连载定义集合的名称

<ArrayOfMyType*></ArrayOfMyType> 

我想改变这使其恢复为

<MyTypes></MyTypes> 

,但似乎在文档中找到必需的属性。我已经使用XmlRootAttribute在系统的另一部分但这是专为XMLSerialiser

回答

3

尝试定义自定义集合类型:

[CollectionDataContract(Name = "MyTypes", ItemName = "MyType")] 
public class MyTypeList : List<MyType> 
{ } 

而且使用这种类型的返回值从您的操作。

+1

似乎很奇怪,我不能简单地为集合定义名称,因为它正在被序列化,就像我在使用XMLSerialiser时一样。但是,我想我没有手动调用它,所以没有机会。谢谢 – 2011-05-26 08:48:15

相关问题