Я хотел бы управлять созданием объекта типа, который обычно не сериализуется во время десериализации с помощью NetDataContractSerializer (или любого, по моему мнению, сериализатора). Используя пользовательский SerializationBinder, я могу управлять созданным типом и использовать пользовательский ISurrogateSelector и ISerializationSurrogate для управления тем, как состояние установлено на объекте.Создание объекта управления при десериализации
То, что я не могу сделать, это создать сам объект, чтобы позволить использовать инъекцию зависимостей или что-то в этом роде. Объект, вызывающий проблемы, находится внутри графа объекта, поэтому я не могу его редактировать до сериализации.
Есть ли способ разрешить мой код для создания десериализованного объекта?
(Для фона я пишу пользовательский хранилище экземпляров WF4, основанный на XmlWorkflowInstanceStore в образцах WF. Я хочу создавать рабочие процессы с переменными, которые являются интерфейсами ... и конкретные типы не могут быть построены напрямую. XmlWorkflowInstanceStore - единственный пример, который я могу найти в пользовательской стойкости, и он использует NetDataContractSerializer для сериализации состояния рабочего процесса.)