提问人:Snail 提问时间:10/19/2023 最后编辑:Snail 更新时间:10/23/2023 访问量:62
System.NotSupportedException:尝试将类序列化为 xml 时
System.NotSupportedException When trying to serialize class to xml
问:
我正在尝试实现for类。当开始将类序列化为 xml 时,我抓住了 .当第二个序列化程序尝试在同一个序列化程序上调用方法时,会出现此问题。IXmlSerialization
SerializableDictionary
System.NotSupportedException: 'Can't flush final block twice'
Serialize
XmlWriter
例外
System.NotSupportedException
HResult=0x80131515
Message=Can't flush final block twice
Source=Telerik.Windows.Zip
StackTrace:
at Telerik.Windows.Zip.OperationStream.FlushFinalBlock()
at System.Xml.XmlUtf8RawTextWriter.Flush()
at System.Xml.XmlWellFormedWriter.Flush()
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o)
at MP.SharedToolbox.XmlInOut.SerializableDictionary`2.WriteXml(XmlWriter writer) in C:\Users\britikov\Documents\Projects\SharedToolbox\XmlInOut\SerializableDictionary.cs:line 69
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRegulationItem.Write19_LoadCard(String n, String ns, LoadCard o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRegulationItem.Write20_RegulationItem(String n, String ns, RegulationItem o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRegulationItem.Write21_Regulation(Object o)
没有关于 InnerException 的信息。
UPD_0:我发现了一个问题。当我尝试将类序列化为存档中的 Stream of Entry 时出现问题。我正在使用Telerik.Windows.Zip创建存档并为其创建条目。我用额外的东西修复了它,我将把对象序列化到其中,然后我会把它复制到入口流中。但我不明白为什么进入流会出现问题,而没有。MemoryStream
MemoryStream
UPD_1我将所有源代码上传到github
有没有办法正确实现它?
答: 暂无答案
评论
TValue
string
TValue
byte
Tkey
ToString()
XmlInOut<RegulationItem>.SaveToStream(entry.Open(), item)