标签:序列化 程序 doc object target 解决 write 一个 时报
FlowDocument类型的对象R中使用的对象A,而对象A中的属性B的类型为ObservedCollection<T>,导致在使用XamlWriter.Save方法时报异常
调用的目标发生了异常。(TargetInvocationException)
无法序列化泛型类型“System.Collections.ObjectModel.ObservableCollection`1[A.T]”。(InvalidOperationException)
调试后发现有两种解决方式:
1、给对象A中的属性B加特性[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
可以让程序在序列化的时候不序列化属性B,但是设置了该特性的属性B在使用XamlWriter.Save的时候就不会保存到对应的值,导致下次查看流文档R的时候属性B的值不会在界面呈现(不适用我当前项目)。
2、新建一个类C,并继承ObservedCollection<T>,并将B的类型改为C,也可以解决无法序列化的问题
记关于使用XamlWriter.Save时如果对象中使用ObservableCollection<T>会报无法序列化泛型类型
标签:序列化 程序 doc object target 解决 write 一个 时报
原文地址:https://www.cnblogs.com/JenReiChau/p/11155243.html