Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Xml.Serialization;
- namespace Vis_Lib.Database
- {
- public static class XmlSerializer<T>
- {
- #region Public Fields
- public static Type _type = typeof(T);
- #endregion Public Fields
- #region Private Methods
- private static T Deserialize(string filePath)
- {
- T XMLOBJ;
- var serializer = new XmlSerializer(_type);
- using (var stream = File.OpenRead(filePath))
- {
- XMLOBJ = (T)serializer.Deserialize(stream);
- }
- return XMLOBJ;
- }
- #endregion Private Methods
- #region Public Methods
- public static void Load(string filePath, out T obj)
- {
- if (File.Exists(filePath))
- {
- obj = Deserialize(filePath);
- return;
- }
- obj = default(T);
- }
- public static void Save(string filePath, object obj)
- {
- try
- {
- if (File.Exists(filePath))
- File.Delete(filePath);
- var serializer = new XmlSerializer(_type);
- using (var stream = File.Open(filePath, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None))
- {
- serializer.Serialize(stream, obj);
- }
- }
- catch (Exception ex) { Console.WriteLine(ex.Message); }
- }
- #endregion Public Methods
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement