0

配列のリストを分離ストレージに保存するにはどうすればよいですか? 配列リスト内にも画像を配置できますか? ありがとう

4

1 に答える 1

1

コメントが言ったように、必要なのはシリアル化可能なオブジェクトを取得することだけであり、それをISに保存できます。複数の次元の配列はシリアライズできないことに注意してください!

IS に使用するコード チャンクを次に示します。

using System.IO;
using System.IO.IsolatedStorage;
using System.Xml.Serialization;

namespace PhoneApp1
{
public class IsolatedStorage
{
    public static void SaveToIs(String fileName, Object saved)
    {
        try
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists(fileName))
                {
                    isf.DeleteFile(fileName);
                }


                using (IsolatedStorageFileStream fs = isf.CreateFile(fileName))
                {

                    XmlSerializer ser = new XmlSerializer(saved.GetType());
                    ser.Serialize(fs, saved);
                }
            }
        }
        catch (IsolatedStorageException ex)
        {
            MessageBox.Show(ex.Message);
        }


    }

    public static Object loadFromIS(String fileName, Type t)
    {
        Object result = null;
        try
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists(fileName))
                {

                    using (StreamReader sr = new StreamReader(isf.OpenFile(fileName, FileMode.Open)))
                    {
                        XmlSerializer ser = new XmlSerializer(t);
                        result = ser.Deserialize(sr);
                    }
                }
            }
        }
        catch (IsolatedStorageException ex)
        {
            MessageBox.Show(ex.Message);
        }
        catch (InvalidOperationException e)
        {
            MessageBox.Show(e.Message);
        }
        return result;
    }
}
}
于 2012-06-06T23:01:34.650 に答える