可序列化的带标签的类,但不起作用

时间:2018-09-02 20:31:05

标签: c# serialization priority-queue c5

我最近编写了一个代码,用于使用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平台调试了项目。

您能告诉我潜在的原因或解决方法吗?

1 个答案:

答案 0 :(得分:1)

异常消息指向 Interval 结构,该结构定义为C5.IntervalHeap<T>中的内部结构 标记为

C5.IntervalHeap`1+Interval

您收到此错误,因为此Interval结构未标记为Serializable

除非您拥有该来源(也许是通过副本),否则您无能为力。
也许找到了另一种无需序列化即可复制副本的方法。