如何在 DataContractSerializer 之后初始化私有字段
我知道您可以使用 DataContractSerializer 序列化私有字段,但我只想保存最少量的易于人类编辑的数据。在 DataContractSerializer 完成其工作后,是否有一个我可以在 DataContractSerializer 类中重写或设置的函数,该函数在完成反序列化后仅设置私有字段?
[DataContract()]
[KnownType(typeof(stateCom))]
[KnownType(typeof(stateIp))]
abstract public class state
{
[DataMember()]
public string tag;
[DataMember()]
public byte Id;
public HandleConnection master;
// default data contstructor for xml serialization
public state()
{
}
public abstract void openPort();
public abstract void closePort();
}
I know you can serialize private fields with DataContractSerializer, but I just want to save a minimum amount of data that is easily human editable. After DataContractSerializer has done its thing is there a function that I can override or set in the DataContractSerializer class that just sets up the private fields after it has done the de-serialization?
[DataContract()]
[KnownType(typeof(stateCom))]
[KnownType(typeof(stateIp))]
abstract public class state
{
[DataMember()]
public string tag;
[DataMember()]
public byte Id;
public HandleConnection master;
// default data contstructor for xml serialization
public state()
{
}
public abstract void openPort();
public abstract void closePort();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在类中创建例如
OnDeserialized
方法并应用OnDeserializedAttribute
如下:You could create e.g.
OnDeserialized
method in your class and applyOnDeserializedAttribute
to it like: