使对象在运行时可序列化
本文关键字:序列化 运行时 对象 | 更新日期: 2023-09-27 18:30:31
有没有办法在运行时使对象可序列化?我应该使用反射吗?
注意:该对象是外部库的一部分,所以我没有它的源代码。
tl;dr - No.
虽然您可以使用 TypeDescriptor
在运行时向任何内容添加属性,但在 Serializable
属性的上下文中,它无济于事,因为BinaryFormatter
使用经典反射而不是TypeDesciptor
反射。
该属性背后的想法是让可序列化类选择加入可序列化。有关此内容的更多详细信息,请单击此处。
根据结构的不同,您可以使用未选择加入的序列化程序,即它不需要目标类上的任何属性,例如 XmlSerializer 或 Json.NET。