Имена настраиваемых элементов с использованием DataContractSerializer в списке примитивов

Меня интересует, как лучше всего задать имена пользовательских элементов при использовании списка примитивов с DataContractSerializer. Допустим, у меня есть следующий класс, который содержит список строк в качестве элемента данных.

[DataContract]
public class ClassName
{
    [DataMember]
    public List FieldName { get; set; }
}

По умолчанию он сериализуется следующим образом:


  
    Value 1
    Value 2
    Value 3
  

Я хотел бы сделать XML как можно более простым для преобразования через XSLT, поэтому в идеале я переименовал бы теги во что-то более полезное, например Value.

Одно из возможных решений включает создание класса, расширяющего Collection, и установку ItemName для параметра CollectionDataMember, который я нашел здесь . Мне было интересно, есть ли способ достичь той же цели без необходимости в этом дополнительном классе или другой форме класса-оболочки. XML-сериализатор использует для этого параметры XMLArray и XMLArrayItem, но DataContractSerializer, похоже, не имеет аналогичных функций.

Спасибо за любые советы или идеи!

10
задан dbc 14 December 2015 в 13:13
поделиться