我有一个类,它有许多字段,这些字段通常是在构造函数中从类中的其他数据计算出来的。它们不会序列化为XML,因为对其余数据的任何更改都可能需要重新计算。
有没有方法可以设置反序列化时触发的函数调用?
最佳答案
你所描述的是[OnDeserialized]
XmlSerializer
不支持序列化回调方法(至少在ms.net中不支持;mono可能不同)。根据您的需要,您可以尝试DataContractSerializer
来支持序列化回调(其他一些序列化程序也是如此)。否则,最好的方法可能是拥有自己的公共方法,您可以手动调用它。
另一个选项是手动实现IXmlSerializable
,但这很困难。