我们如何从给定函数传递不同的对象。
static public void SerializeToXML(FbTextView p)
{
XmlSerializer serializer = new XmlSerializer(typeof(FbTextView));
TextWriter textWriter = new StreamWriter(@"D:\movie.xml");
serializer.Serialize(textWriter, p);
textWriter.Close();
}
现在的问题是,当我尝试传递两个或更多对象时,会像这样传递两个对象:
static public void SerializeToXML(FbTextView p,FbTextField q)
{
XmlSerializer serializer = new XmlSerializer(typeof(FbTextView));
XmlSerializer Serializer = new XmlSerializer(typeof(FbTextField));
TextWriter textWriter = new StreamWriter(@"D:\movie.xml");
serializer.Serialize(textWriter, p);
textWriter.Close();
}
它抛出错误:XMLParse 异常未处理。内部异常(exception)是: “反射(reflect)类型‘FBformBuilder.FbTextField’时出现错误” 谢谢 !
最佳答案
问题将在内部异常中详细说明;尝试:
try {
// ... your code
} catch(Exception ex) {
while(ex != null) {
Trace.WriteLine(ex.Message);
ex = ex.InnerException;
}
throw;
}
然后查看所有被记录的 .Message
。其中之一会告诉您确切的问题。例如,它可能是这样的:
- 没有公共(public)无参数构造函数
- 不是公共(public)类型
- 无效子类
- 重复/不明确的元素/命名空间
或类似的东西
关于c# - 从 XmlSerializer 函数传递不同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13194867/