XML сериализация коллекции со свойствами - PullRequest
2 голосов
/ 16 марта 2011

У меня есть этот простой класс:

public class MappingCollection<T> : List<T>
{
    private int _declaredTotal = -1;
    public int DeclaredTotal { get { return _declaredTotal; } set { _declaredTotal = value; } }
}

И я использую его внутри другого класса, называемого "Mapping". Экземпляры «Mapping» сериализуются в XML. Все остальные свойства Mapping корректно сериализуются (классы, скалярные свойства и т. Д.).

Когда он сериализует этот пользовательский список, который я создал, элементы списка сериализуются правильно, а свойство "DeclaredTotal" - нет. Как всегда, он всегда сериализуется как -1, если я удаляю значение по умолчанию, он всегда сериализуется как 0.

Я не получаю никаких ошибок во время выполнения, поэтому я не знаю, где находится проблема.

Кто-нибудь знает, как решить это странное поведение?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Если вы не нашли решения, вы можете попробовать использовать другой xml-сериализатор, например sharpserializer или DataContractSerializer

0 голосов
/ 18 марта 2011

Посмотрите на этот похожий вопрос .

Похоже, вам придется сделать List свойством в MappingCollection, а не расширять List из-заособый способ обработки типов коллекций XmlSerializer.

...