Неизменность и XML-сериализация

У меня есть несколько классов, которые являются неизменными, как только их начальные значения установлены. Эрик Липперт называет этонеизменяемость при записи.

Реализация неизменяемой однократной записи в C # обычно означает установку начальных значений с помощью конструктора. Эти значения инициализируют поля только для чтения.

Но если вам нужно сериализовать такой класс в XML с использованием XmlSerializer или DataContractSerializer, у вас должен быть конструктор без параметров.

У кого-нибудь есть предложения как обойти эту проблему? Существуют ли другие формы неизменности, которые лучше работают с сериализацией?

РЕДАКТИРОВАТЬ: Как @Todd указал, DataContractSerializer не требует конструктор без параметров. СогласноДокументация DataContractSerializer на MSDNDataContractSerializer "не вызывает конструктор целевого объекта".

Ответы на вопрос(5)

Ваш ответ на вопрос