我希望能够控制一个通常不可序列化的类型的对象创建过程,使用NetDataContractSerializer(或任何其他序列化器)。我可以通过使用自定义SerializationBinder来控制构造的类型,并使用自定义ISurrogateSelector和ISerializationSurrogate来控制如何设置对象的状态。
但是,我无法实际创建对象以允许使用依赖注入等功能。引起问题的对象在对象图中,因此我无法在序列化之前编辑它。 是否有一种方法允许我的代码构造反序列化的对象? (背景:我正在编写基于WF示例中的XmlWorkflowInstanceStore的自定义WF4持久性实例存储。我想编写具有接口变量的工作流...而不能直接构造具体类型。XmlWorkflowInstanceStore是我能找到的唯一的自定义持久性示例,它使用NetDataContractSerializer来序列化工作流状态。)
但是,我无法实际创建对象以允许使用依赖注入等功能。引起问题的对象在对象图中,因此我无法在序列化之前编辑它。 是否有一种方法允许我的代码构造反序列化的对象? (背景:我正在编写基于WF示例中的XmlWorkflowInstanceStore的自定义WF4持久性实例存储。我想编写具有接口变量的工作流...而不能直接构造具体类型。XmlWorkflowInstanceStore是我能找到的唯一的自定义持久性示例,它使用NetDataContractSerializer来序列化工作流状态。)