0

我最近编写了一个使用 C5 库“IntervalHeap”复制类的代码,但遇到了这样的错误消息。

System.Runtime.Serialization.SerializationException: 'Type 'C5.IntervalHeap`1+Interval[[TransSys1.Node, TransSys1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' in Assembly 'C5, Version=2.5 .0.0,Culture=neutral,PublicKeyToken=282361b99ded7e8e'未标记为可序列化。'

我在这里检查了源代码,但 IntervalHeap 类已经标记为[Serializable]. 我再次构建了源代码,但它仍然无法正常工作。我用 x64 平台调试了我的项目。

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

4

1 回答 1

1

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

C5.IntervalHeap`1+Interval

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

除非您拥有该来源(可能通过副本),否则您无能为力。
也许找到另一种方式来获取副本,而无需序列化。

于 2018-09-02T20:51:18.510 回答