我有一个对象,我正在尝试将其保存到状态字典中,但是当我使用以下对象传递对象时:
State["name"] = object;
我发现有一些例外:
类型的第一次机会异常 发生'System.Runtime.Serialization.InvalidDataContractException' 在System.Runtime.Serialization.dll类型的第一次机会异常 mscorlib.dll中发生'System.Reflection.TargetInvocationException' 类型的第一次机会异常 发生'System.Runtime.Serialization.InvalidDataContractException' 在System.Runtime.Serialization.dll
中
State会自动对传递的对象进行序列化和反序列化。可能是什么问题?
我怀疑在声明类时对象必须使用[Serialize]。我尝试在我的班级上使用[序列化],但是虽然我已声明using System.Runtime.Serialization;
并且引用存在但却无法识别
更新
这是我正在尝试序列化的类:
public class MeshObject
{
public ModelMesh mesh; // xna specific class
public Matrix startOrientation; // xna specific class
public Matrix Orientation; // xna specific class
public bool isSetInPlace = false;
public bool isSelected = false;
public bool inPlay = false;
}
更新2
根据我对此post的理解,Silverlight中没有[Serializable]。我该如何解决这个问题?
答案 0 :(得分:0)
尽可能read here
如果要序列化不可序列化的类型,则需要自己实现序列化:http://mobile.dzone.com/articles/windows-phone-7-serialization