locked
Reflection и сериализация RRS feed

  • Вопрос

  • Допустим есть приложение, оно дает какой-то интерфейс и есть подключаемые модули (dll).
    dll-плагины работают с приложением за счет при помощи отражения, т.к. реализуют интерфейс (допустим IPlugin)

    Основная программа- это полотно для размещения всяких изображений, фигур и тп.

    Плагины - это сами фигуры, текстовые всякие штуки и тп.

    сохранять "холст" нужно при помощи механизма сериализации (соответственно загружать - десериализации).

    как работать с сериализацией/десериализацией при таком подходе?

    Фишка в том, что я не должен сериализовать сам холст, а именно работать с сериализацией, которая предоставляется множеством библиотек


    • Изменено Demo_version 20 ноября 2013 г. 17:23
    20 ноября 2013 г. 17:22

Ответы

  • Вы главное все сборки плугинов, не забудьте в память загрузить, а дальше то все нормально будет:

    • Помечено в качестве ответа Demo_version 21 ноября 2013 г. 12:58
    21 ноября 2013 г. 9:53
    Отвечающий

Все ответы

  • Добрый день.

    Не очень понял в чем проблема. Вы же как то объекты поддерживающие интерфейс IPlugin создаете? Ну и сериализуйте их бинарно, указывая что это вы такое и из какой сборки сериализуете, а перед десиарилизацией проверяйте байтики какого типа у вас там дальше будут идти и десериализуйте в объект этого типа.

    21 ноября 2013 г. 6:14
    Отвечающий
  • да вот в десериализации я пожалуй и загнался(
    получается как я понимаю, при сериализации все пофигу норм будет, ибо есть метаданные, которые говорят как сераиализовывать объекты определенных библиотек,
    а как будет выглядеть код десериализации?

    21 ноября 2013 г. 9:22
  • Вы главное все сборки плугинов, не забудьте в память загрузить, а дальше то все нормально будет:

    • Помечено в качестве ответа Demo_version 21 ноября 2013 г. 12:58
    21 ноября 2013 г. 9:53
    Отвечающий