如何知道对象当前何时从 XmlSerializer 反序列化
How to know when an object is currently deserialized from XmlSerializer
我需要知道当前何时使用 Microsoft XmlSerializer 反序列化子对象。
我不想使用在多线程中不起作用的全局指标。
我的 class 已经使用 public 属性自动反序列化。我宁愿自己不管理序列化(如果可能,我宁愿保留 public 属性的自动反序列化)。
我考虑了两件事:
- 使用 TLS(即线程本地存储 - 因为 XmlSerializer 是单线程的)
- 使用 CallStack
但这两种方法都不够优雅。我不知道是否有更好的解决方案,比如实现 Deserializable 接口或其他东西?我缺少知道如何以干净的方式做到这一点的知识。
我认为 Microsoft XmlSerializer 的当前实现是不可能的。
我需要知道当前何时使用 Microsoft XmlSerializer 反序列化子对象。
我不想使用在多线程中不起作用的全局指标。
我的 class 已经使用 public 属性自动反序列化。我宁愿自己不管理序列化(如果可能,我宁愿保留 public 属性的自动反序列化)。
我考虑了两件事:
- 使用 TLS(即线程本地存储 - 因为 XmlSerializer 是单线程的)
- 使用 CallStack
但这两种方法都不够优雅。我不知道是否有更好的解决方案,比如实现 Deserializable 接口或其他东西?我缺少知道如何以干净的方式做到这一点的知识。
我认为 Microsoft XmlSerializer 的当前实现是不可能的。