我最近编写了一个代码,用于使用C5库“ IntervalHeap”复制一个类,但是遇到了这样的错误消息。
System.Runtime.Serialization.SerializationException:'类型 'C5.IntervalHeap`1 + Interval [[TransSys1.Node,TransSys1, 版本= 1.0.0.0,文化=中性,PublicKeyToken =空]]' 'C5,版本= 2.5.0.0,文化=中性, PublicKeyToken = 282361b99ded7e8e'未标记为可序列化。'
我检查了here中的源代码,但是IntervalHeap类已经被标记为[Serializable]
。我再次构建了源代码,但仍然无法正常工作。我使用x64平台调试了项目。
您能告诉我潜在的原因或解决方法吗?
答案 0 :(得分:1)
异常消息指向 Interval
结构,该结构定义为C5.IntervalHeap<T>
中的内部结构
标记为
C5.IntervalHeap`1+Interval
您收到此错误,因为此Interval
结构未标记为Serializable
。
除非您拥有该来源(也许是通过副本),否则您无能为力。
也许找到了另一种无需序列化即可复制副本的方法。