Если программа буквально только что десериализовала объект (действительно не имеет значения, как, но просто говорят, что BinaryFormatter использовался).
Что хороший дизайн должен использовать для перевведения зависимостей этого объекта?
Существует ли общий шаблон для этого?
Я предполагаю, что должен был бы перенести Десериализовывание () метод для действия как фабрика в контейнере.
Спасибо!
Не следует сериализовать объекты с зависимостями, которые сами по себе не могут быть сериализованы.
Вместо этого разделите его на два класса: извлеките сериализуемые части в отдельный класс .
После десериализации вы можете связать полученный объект с экземпляром исходного класса (с зависимостями).
Я бы использовал атрибут OnDeserialized , чтобы указать на метод, который будет выполнять повторную инъекцию.
Unity имеет концепцию « BuildUp », где вы можете попросить его выполнить зависимости существующего объекта. Я не знаю, есть ли у autofac (который, как я полагаю, вы используете из тегов) эквивалент.