有什么方法可以在 .net 中序列化匿名类型吗?普通 XmlSerializer 失败,因为该类型没有定义无参数构造函数; NetDataContractSeralizer 失败,因为我们无法将 DataContract 或 Serializable 属性标记为匿名类。
那么有什么巧妙的解决方法还是我们做不到?
最佳答案
是的,可以序列化匿名类型。想到的最简单的方法是创建一个包装器对象,它实现 ISerializable
并使用反射来检查匿名类型的字段并适本地序列化它们。这会很丑陋,但会起作用。
不过我觉得更重要的问题是
Is it possible to deserialize an anonymous type?
答案是“不是一般意义上的”。匿名类型是特定于程序集的类型。因此,虽然可以针对特定的匿名类型以特定的方式进行操作,但在一般意义上这是不可行的,而且在不同的程序集之间也不可行,因为它们是内部的。
关于c# - 有什么方法可以使用 C# 在 .net 中对匿名类型进行 xml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494605/