Если вызывается конструктор, он всегда будет first (обратите внимание, что некоторые сериализаторы пропускают конструктор; XmlSerializer
всегда запускает открытый конструктор без параметров). Таким образом, любая логика должна быть в свойствах и т. Д.
То, что вы действительно описываете здесь, это "обратный вызов сериализации" - то есть способ заставить ваш сериализатор запустить ваш метод до и / или после сериализации и / или десериализации; некоторые сериализаторы поддерживают обратные вызовы - однако XmlSerializer
не .
Единственный вариант с XmlSerializer
- реализовать IXmlSerializable
, но, честно говоря, это огромная боль. Если возможно, я бы предложил либо:
- вызов метода вручную, самостоятельно, после десериализации
- или переключите сериализатор на тот, который поддерживает обратные вызовы
DataContractSerializer
поддерживает обратные вызовы и может делать limited xml - не такой детальный контроль, как XmlSerializer
, хотя (без атрибутов , в частности); Protobuf-net поддерживает обратные вызовы, если вы хотите переключиться на двоичный файл.