Есть ли способ сделать сериализуемым объект во время выполнения? Должен ли я использовать Reflection?Сделать объект сериализуемым во время выполнения
Примечание: объект является частью внешней библиотеки, поэтому у меня нет исходного кода для него.
Есть ли способ сделать сериализуемым объект во время выполнения? Должен ли я использовать Reflection?Сделать объект сериализуемым во время выполнения
Примечание: объект является частью внешней библиотеки, поэтому у меня нет исходного кода для него.
Т.Л., д-р - Нет
В то время как вы можете использовать TypeDescriptor
, чтобы добавить атрибуты к чему-либо во время выполнения, в контексте Serializable
приписывать это не поможет, так как BinaryFormatter
использует классическое отражение и не TypeDesciptor
отражения.
Идея этого атрибута заключается в том, что сериализуемый класс допускает сериализацию. Подробнее об этом here.
В зависимости от структуры вы можете использовать сериализатор, который не выбирает, т. Е. Не требует никакого атрибута в целевом классе, например XmlSerializer или JavaScriptSerializer.
Пожалуйста, объясните, что вы подразумеваете под «выполнением сериализации». Что именно ты пытаешься сделать? – CodeCaster
добавьте атрибут [Serializable] в класс – Riccardo
Теперь это конкретный вопрос, который вы можете найти. См. [Может ли атрибуты добавляться динамически в C#?] (Http://stackoverflow.com/questions/129285/can-attributes-be-added-dynamically-in-c). – CodeCaster