public sealed class XmlHelper { public static void Serialize<T>(T obj,string fileName) { TextWriter writer = new StreamWriter(fileName); try { XmlSerializer ser = new XmlSerializer(typeof(T)); ser.Serialize(writer, obj); } catch (Exception) { throw; } finally { if (writer != null) { writer.Close(); } } } public static T Deserialize<T>(string fileName) where T:class { TextReader reader = new StreamReader(fileName); T newObj ; try { XmlSerializer mySerializer = new XmlSerializer(typeof(T)); newObj= mySerializer.Deserialize(reader) as T; } catch (Exception) { throw; } finally { if (reader != null) { reader.Close(); } } return newObj; } public static T Deserialize<T>(FileInfo file) where T : class { string fileName = file.FullName; return Deserialize<T>(fileName); } }