为什么在 C# 中,字段不能通过 XML 序列化程序序列化,而属性却可以?我知道属性实际上是方法,但我不明白为什么这会有所作为。有谁知道这个问题的答案?
非常感谢!
为什么在 C# 中,字段不能通过 XML 序列化程序序列化,而属性却可以?我知道属性实际上是方法,但我不明白为什么这会有所作为。有谁知道这个问题的答案?
非常感谢!
字段是可序列化的:
XML 序列化将对象的公共字段和属性或方法的参数和返回值序列化为符合特定 XML 模式定义语言 (XSD) 文档的 XML 流。XML 序列化生成具有公共属性和转换为 XML 字段的强类型类。System.Xml.Serialization 包含序列化和反序列化 XML 所需的类。
来自MSDN
字段是可序列化的。事实上,所有字段默认情况下都是序列化的,除非你用NonSerialized
属性标记它们。
如果说 XML 序列化,那么只会序列化公共字段,因为 XML 序列化只序列化对象的公共接口。