我试图在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,因为它没有无参数构造函数。 我哪里错了?