
public static void SerializeObjectToFile<T>(T serializingObject, string path)
{
XmlSerializer writer = new XmlSerializer(typeof(T));
using (StreamWriter file = new StreamWriter(path))
{
writer.Serialize(file, serializingObject);
}
}
public static T DeserializeObjectFromFile<T>(string path)
{
using (StreamReader file = new StreamReader(path))
{
XmlSerializer reader = new XmlSerializer(typeof(T));
return (T)reader.Deserialize(file);
}
}
private static T DeserializeObject<T>(System.IO.Stream stream)
{
var reader = new System.Xml.Serialization.XmlSerializer(typeof(T));
return (T)reader.Deserialize(stream);
}
private static T DeserializeObject<T>(System.IO.StreamReader streamReader)
{
var reader = new System.Xml.Serialization.XmlSerializer(typeof(T));
return (T)reader.Deserialize(streamReader);
}
public static T DeserializeObjectFromFile<T>(string path)
{
if (System.IO.File.Exists(path))
{
using (var file = new System.IO.StreamReader(path))
{
return DeserializeObject<T>(file);
}
}
else
return System.Activator.CreateInstance<T>();
}
public static T DeserializeObjectFromString<T>(string s)
{
return DeserializeObject<T>(new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(s)));
}
public static void SerializeObjectToFile<T>(object serializingObject, string path)
{
var writer = new System.Xml.Serialization.XmlSerializer(typeof(T));
using (var file = new System.IO.StreamWriter(path))
{
writer.Serialize(file, serializingObject);
}
}