【发布时间】:2011-07-02 10:19:53
【问题描述】:
我有一些类型想要序列化为 xml,但这些类型具有只读属性,例如:
public List<Effect> Effects {get; private set;}
但 xml 序列化程序要求这些属性是可写的。
xml 序列化器不是使用反射,所以实际上可以通过反射轻松设置这些属性,即使它们是只读的?
-
有没有办法解决这个问题,因为我不希望这些类型可以被人编辑,所以属性必须是只读的,但我也希望它们是 xml 可序列化的。
【问题讨论】:
-
琼,您问题的真正答案是:“因为从 .NET 1.0 开始就是这样,并且永远不会改变。”
-
我明白了。我只是想知道它是否有技术原因,例如“只读变量甚至不能通过反射设置”等。但由于这只是因为设计决策,我现在明白了。
标签: c# .net serialization xmlserializer