1

我在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;
                }
            }
        }

    }

我附上列表数据结构的屏幕截图在此处输入图像描述

如何解决这个问题?

4

1 回答 1

-1

感谢您添加屏幕截图...并粘贴一些代码。实在看不出有什么不对。

你的虚拟机只公开公共原始/可序列化类型吗?我过去曾使用过这样的东西来序列化到 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();
        }

    }
}
于 2013-03-06T09:55:52.217 回答