我正在尝试将(非常复杂的)类标记为[Serializable]
,其中包括查找所有使用的类型并将其设为[Serializable]
。我现在遇到一个例外情况:
Type kAI.Core.kAIXmlBehaviour+<>c__DisplayClass24 is not marked as Serializable.
我应该从哪里开始寻找?我一直在尝试识别那些当我没有序列化时不会导致它的元素,但是分支因素是巨大的,我不知道这个DisplayClass24意味着什么或者为什么它是XmlBehaviour的子类。我在某处读到它是一个lambda表达式。这是否意味着我正在尝试存储lambda表达式,或者该类型是在lambda表达式中创建的?
答案 0 :(得分:2)
问题出在很多方面。首先,我使用的是匿名的getter / setter:
public kAIINodeObject NodeContents
{
get;
private set;
}
由于是属性,我无法将其标记为[NonSerialized]
。这可以通过简单地制作对象来解决。
SLaks正确地指出事件处理程序正在被序列化,事件可以使用
进行标记[field: NonSerialized]
最后,this tool对于追踪对象的位置非常有用。