Присвоение имени ArrayOf при сериализации с использованием DataContractSerializer - PullRequest
2 голосов
/ 24 мая 2011

Я создал службу WCF, для которой определены несколько контрактов на операции. Один из моих контрактов возвращает коллекцию известных типов. Тип определяется отдельно как контракт данных.

Когда коллекция сериализуется с помощью DataContractSerializer , представление xml определяет имя коллекции как

<ArrayOfMyType*></ArrayOfMyType>

Я хочу изменить это, чтобы вернуть как

<MyTypes></MyTypes> 

но может показаться, что он нашел необходимый атрибут в документации. Я использовал XmlRootAttribute в другой части системы, но он предназначен для XMLSerialiser

1 Ответ

3 голосов
/ 24 мая 2011

Попробуйте определить пользовательский тип коллекции:

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

И используйте этот тип в качестве значения возврата из вашей операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...