生成 XML 文档时出错;不应是类型XXXX;使用 XmlInclude 或 SoapInclude 属性静态指定非已知的类型;

在将一个自定义类序例化到文件时,出现如下错误提示:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 不应是类型 Alink.T1System.Windows.PrintSetting。使用 XmlInclude 或 SoapInclude 属性静态指定非已知的类型。

PrintSetting类中引用到Waybill类和WaybillCollection类

经查找资料,发现当被序例化的类中包含自定义的复杂类时,
需要使用XmlIncludeAttribut属性标识PrintSetting类
现在修改如下:

 [XmlInclude(typeof(Alink.T1System.Windows.PrintSetting))]
 [XmlInclude(typeof(Alink.T1System.Windows.PrintSettingCollection))]
 [Serializable]
 public class ReportSetting:Alink.Configuration.ISetting

要把该类中内含的自定义类都用XmlInclude一次,就可以解决问题了;


posted on 2007-11-15 22:30  rex.ying  阅读(7605)  评论(0编辑  收藏  举报