使对象在运行时可序列化

时间:2014-11-16 12:48:55

标签: c# .net serialization

有没有办法在运行时使一个对象可序列化?我应该使用反射吗?

注意:该对象是外部库的一部分,因此我没有它的源代码。

2 个答案:

答案 0 :(得分:3)

tl; dr - No。

虽然您可以使用TypeDescriptor在运行时向任何内容添加属性,但在Serializable属性的上下文中,由于BinaryFormatter使用经典反射而不是TypeDesciptor,因此它不会有帮助{1}}反思。

该属性背后的想法是可序列化类选择加入可序列化。有关此here的详细信息。

答案 1 :(得分:0)

根据结构的不同,您可能会使用不是选择加入的序列化程序,即它不需要目标类的任何属性,例如XmlSerializerJson.NET