我在wp7
中面临以下问题“类型'System.Windows.Media.Transform'无法在C#中序列化”
当我调用以下方法将我的列表数据保存到隔离存储
时SerializeHelper.SaveSetting( “myfile.xml中”,swaplist);
然后我得到了例外。
public static class SerializeHelper
{
public static void SaveSetting<T>(string fileName, T dataToSave)
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
try
{
using (var stream = store.CreateFile(fileName))
{
var serializer = new DataContractSerializer(typeof(T));
serializer.WriteObject(stream, dataToSave);
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return;
}
}
}
}
我附上了列表数据
结构的屏幕截图如何解决这个问题?
答案 0 :(得分:-1)
感谢您添加屏幕截图...并粘贴一些代码。真的看不出任何错误。
VM是否只公开public primitive / serialisable类型?我过去曾使用过这样的东西来序列化到iso商店。
public static void SaveObjectToStorage<T>(T ObjectToSave)
{
TextWriter writer;
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fs = isf.OpenFile(GetFileName<T>(), System.IO.FileMode.Create))
{
writer = new StreamWriter(fs);
XmlSerializer ser = new XmlSerializer(typeof(T));
ser.Serialize(writer, ObjectToSave);
writer.Close();
}
}
}