我有一个名为Coordinate的简单类,它包含X / Y Z值。
我正在进行一些处理并创建一个"例外"。
我使用一些自定义值填充ex.Data属性。
一切顺利,直到我尝试添加"新坐标(x / y / z)"进入数据属性。
数据属性包含"对象"。
抛出异常,它告诉我,我无法添加不可序列化的对象"或类似的东西。
我决定在data属性中添加3个条目(x / y / z分别为double值),一切都很好。
我不太明白我需要添加到我的课程中,所以我只能添加一个Coordinate变量的实例。
答案 0 :(得分:2)
要使类可序列化,请使用SerializableAttribute
[Serializable]
public class Coordinate
{
...
}
这是将对象标记为serialiazable的最基本方法,还有其他方法可以让您更好地控制如何对象的序列化/反序列化。
将SerializableAttribute属性应用于某个类型时,默认情况下会对所有私有和公共字段进行序列化。您可以通过实现ISerializable接口来更精细地控制序列化,以覆盖序列化过程。
答案 1 :(得分:1)
可能就像将您的课程标记为Serializable一样简单:
[Serializable]
public class Coordinate
{
// ..
}