XML序列化是否需要属性进行读/写?

Pat*_*ick 3 c# properties xml-serialization

我在班上测试XML序列化,但我注意到在运行程序时ID号没有保存.

所以我环顾四周并修改了一些东西,但没有任何效果,然后我看到除了ID之外的所有字段都有get和set属性.所以我添加了一套; 财产到我的身份证号码和工作的poof.问题是,是否必须设定; 得到; 在我的所有属性上运行XML序列化是否有效?

我不希望在创建对象(自动生成)后修改ID号.

Jon*_*eet 5

是的,这基本上是对XML序列化的限制.从XML序列化文档:

只能序列化公共属性和字段.属性必须具有公共访问器(get和set方法).如果必须序列化非公共数据,请使用BinaryFormatter类而不是XML序列化.

XML序列化并不像人们想象的那样灵活.