我有一个未标记为User
的对象([Serializable()]
)。
我需要将整个对象(包括子对象)转换为字符串。
实际需要将对象转换为未标记为[Serializable()]
的第三方工具响应。
如何将整个C#对象转换为上述场景的字符串/ xml?
答案 0 :(得分:4)
XmlSerializer
不需要Serializable
属性,但它只能序列化公共成员。
最诚挚的问候 Oliver Hanappi
编辑:您可以创建自己的适配器类,它实现IXmlSerializable接口并表示适配器在构造时获得的一个User对象。
答案 1 :(得分:1)
如果JSON满足您的需求,您可以尝试JsonExSerializer,因为它不需要任何属性来装饰目标对象。
答案 2 :(得分:0)
您可以使用反射来查找您感兴趣的所有成员,例如公共属性和/或私有字段,然后随时构建一个xml文档。
这样可以保持代码的通用性和自定义性。 :)
但是,请记住,反射在运行时可能是一个非常缓慢的过程。 :(