当前位置:  开发笔记 > 编程语言 > 正文

将XmlSerializer与私有和公共const属性一起使用

如何解决《将XmlSerializer与私有和公共const属性一起使用》经验,为你挑选了2个好方法。

让XmlSerializer同时序列化类或结构的私有和"公共const"属性的最简单方法是什么?对我而言,输出的并不仅仅是公开的.将其设为私有或添加const会导致值无法序列化.



1> Kent Boogaar..:

XmlSerializer只关注公共领域和属性.如果您需要更多控制,可以实现IXmlSerializable并序列化您想要的任何内容.当然,序列化常量并没有多大意义,因为您无法反序列化为常量.



2> Thomas Leves..:

即使无法序列化私有属性,也可以使用内部setter序列化属性,如下所示:

public string Foo { get; internal set; }

为此,您需要使用sgen.exe预生成序列化程序集,并将此程序集声明为friend:

[assembly:InternalsVisibleTo("MyAssembly.XmlSerializers")]

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有