c# - 从 XmlSerializer 函数传递不同的对象

标签 c# c#-4.0

我们如何从给定函数传递不同的对象。

 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/

相关文章:

c# - 从字符串中删除所有内容,包括XYZ

xml - 如何使用重复的 XMLNodes 反序列化此 xml

c# - Visual Studio 在发布时移动内容文件

c# - 如何迭代数组/集合/列表中的 "between"项?

c# - Code First 类型 '' 上的属性 '' 上的ForeignKeyAttribute 无效。 Entity Framework

asp.net-mvc - 从 mvc Controller 使用 web api 时返回 json 结果

asp.net - 本地主机页面不起作用。本地主机重定向你太多次

entity-framework - 来自另一个项目的 Entity Framework 连接字符串引用

c# - 单元测试使用静态变量的 C#/.NET 类(单元测试进程隔离)

c# - 在同步块(synchronized block)内部和外部使用字段是否安全?