类型组件未标记为可序列化

时间:2015-07-09 03:00:28

标签: c# object serialization clone

我希望将entityClass序列化为克隆。但是这个类有一个来自自定义框架的引用程序集,我无法访问代码。每当我尝试序列化entityClass对象时,它都会抛出异常,

  

在Assembly'...,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = null'中键入...未标记为可序列化。

2 个答案:

答案 0 :(得分:5)

假设问题是对象上的字段/属性属于问题类型,则需要将字段/属性标记为NonSerialized或创建标记为{{的类型的派生类型3}}

如果从类型派生并将其标记为Serialized,则很可能必须自己创建序列化逻辑。这需要您实现Serializable和一个序列化构造函数,该构造函数接受SerializationInfo和StreamingContext。

ISerializable可能有所帮助。

答案 1 :(得分:4)

如果您有PropertyChanged事件,则在序列化的所有对象(类)中将其设置为[NonSerialized]。

    [field: NonSerialized]
    public event PropertyChangedEventHandler PropertyChanged;