30 .NET XML 序列化问题?

我在做 C 时遇到了一些问题

请先 登录 后评论

3 个回答

Charles Graham

私有变量/属性在 XML 序列化的默认机制中不被序列化,而是在二进制序列化中。

请先 登录 后评论
Eric Z Beard

哦,这很好:因为 XML 序列化代码是生成并放置在单独的 DLL 中的,所以当您的代码中出现破坏序列化程序的错误时,您不会收到任何有意义的错误。就像“无法找到 s3d3fsdf.dll”之类的东西。不错。

请先 登录 后评论
Charles Graham

我还不能发表评论,所以我将对 Dr8k 的帖子发表评论并再做一次观察。公开为公共 getter/setter 属性的私有变量,并通过这些属性进行序列化/反序列化。我们一直在我以前的工作中这样做。

但要注意的一点是,如果您在这些属性中有任何逻辑,那么逻辑就会运行,所以有时,序列化的顺序实际上很重要。成员隐式按照它们在代码中的排序方式进行排序,但不能保证,尤其是当您继承另一个对象时。明确订购它们是一种痛苦。

过去我被这件事烧死了。

请先 登录 后评论
  • 9 关注
  • 0 收藏,183 浏览
  • Kalid 提出于 2022-09-28 07:14