内联初始化的c#[NonSerialized]字段在反序列化后未初始化

我的班级中有一个[未序列化]字段,它是内联初始化的:

[NonSerialized]
private bool running = true;

但是,反序列化对象后,我运行== false.这不是我想要的.我可以强制内联Initializatin用于所有[NonSerialized]字段吗?否则我将必须实现ISerializable …

最佳答案
您可以在默认构造函数中进行设置.

实现System.Runtime.Serialization.IDeserializationCallback

将该对象反序列化之后,该方法称为,因此您可以在此处执行额外的初始化.

点击查看更多相关文章

转载注明原文:内联初始化的c#[NonSerialized]字段在反序列化后未初始化 - 乐贴网