如何在 WCF 中使用自定义序列化或反序列化来强制数据联系人的每个属性上有一个新实例?
我与许多具有自定义类的成员有一个数据联系人,
如果反序列化时该属性为空,我想强制创建一个新实例。
有办法做到这一点吗?
I have a datacontact with many members that has a custom class
I would like to force a new instance if the property is null on deserialization.
is there a way to do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 DataContract 序列化,则可以使用
OnDeserialized
属性覆盖其默认行为。来自MSDN:当应用于方法,指定在对象图中的对象反序列化期间调用该方法。相对于图中其他对象的反序列化顺序是不确定的。
这是我的示例代码:
If your are using DataContract serialization then you can override its default behaviour using the
OnDeserialized
attribute.From MSDN: When applied to a method, specifies that the method is called during deserialization of an object in an object graph. The order of deserialization relative to other objects in the graph is non-deterministic.
Here is my sample code: