如何将(类)对象存储到独立存储中?
谢谢
最佳答案
向隔离存储写入对象(XML 序列化/反序列化)和从隔离存储读取对象(XML 序列化/反序列化):
namespace IsolatedStorageSerialization
{
using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Xml;
using System.Xml.Serialization;
internal static class Program
{
private static void Main()
{
object thisIsAnObject = new object();
SerializeToIsolatedStorage(thisIsAnObject, "object.xml");
object anotherObject = DeserializeFromIsolatedStorage<object>("object.xml");
Console.ReadLine();
}
private static void SerializeToIsolatedStorage<T>(T obj, string filename)
{
if ((obj == null) || string.IsNullOrEmpty(filename))
{
return;
}
using (var store = IsolatedStorageFile.GetUserStoreForAssembly())
using (var stream = store.CreateFile(filename))
using (var writer = XmlWriter.Create(stream))
{
new XmlSerializer(obj.GetType()).Serialize(writer, obj);
}
}
private static T DeserializeFromIsolatedStorage<T>(string filename)
{
if (string.IsNullOrEmpty(filename))
{
return default(T);
}
using (var store = IsolatedStorageFile.GetUserStoreForAssembly())
using (var stream = store.OpenFile(filename, FileMode.Open))
using (var reader = XmlReader.Create(stream))
{
return (T)new XmlSerializer(typeof(T)).Deserialize(reader);
}
}
}
}
关于c# - 隔离存储问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622567/