您可以跳过XML序列化VB.net中

时间:2016-09-03 15:41:34

标签: vb.net class serialization xml-serialization

我试图在vb.net中序列化一个结构。该结构使用由同一类中的其他结构定义的类型,以及由其他类中的结构定义的类型。我不能序列化其他类,因为他们没有无参数构造函数,所以我试图像这样跳过它们;

    Dim objStreamWriter As New StreamWriter(SavingAdd & " " & threadnum.ToString("000"))

    Dim xmlOver As New XmlAttributeOverrides()
    Dim xmlAttr As New XmlAttributes()
    xmlAttr.XmlIgnore = True

    xmlOver.Add(GetType(Namespace.Class1), "data1", xmlAttr)
    xmlOver.Add(GetType(Namespace.Class2), "data2", xmlAttr)
    xmlOver.Add(GetType(Namespace.Class3), "data3", xmlAttr)
    xmlOver.Add(GetType(Namespace.Class4), "data4", xmlAttr)

    Dim x As New XmlSerializer(maindata(threadnum).GetType, xmlOver)
    x.Serialize(objStreamWriter, maindata(threadnum))
    objStreamWriter.Close()

我的理解是每个&x; xmlover.add ..' line允许我跳过结构的命名(例如,< data1,data2等)属性的序列化。但是我仍然得到错误,我无法序列化class1,因为它没有无参数构造函数。 我哪里错了?

0 个答案:

没有答案