Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Программный код Serializer.cs




using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary;

using System.Xml.Serialization;

 

namespace ConsoleApplication1

{

public static class Serializer

{

#region Сериализация и десериализация по одному экземпляру

 

public static void SaveToBinnary<T>(String FileName, T SerializableObject)

{

using (FileStream fs = File.Create(FileName))

{

BinaryFormatter formatter = new BinaryFormatter();

formatter.Serialize(fs, SerializableObject);

}

}

 

public static T LoadFromBinnary<T>(String FileName)

{

using (FileStream fs = File.Open(FileName, FileMode.Open))

{

BinaryFormatter formatter = new BinaryFormatter();

return (T)formatter.Deserialize(fs);

}

}

 

//====================================================================

 

public static void SaveToXml<T>(String FileName, T SerializableObject)

{

XmlSerializer serializer = new XmlSerializer(typeof(T));

using (TextWriter textWriter = new StreamWriter(FileName))

{

serializer.Serialize(textWriter, SerializableObject);

}

}

 

public static T LoadFromXml<T>(String FileName)

{

XmlSerializer serializer = new XmlSerializer(typeof(T));

using (TextReader textReader = new StreamReader(FileName))

{

return (T)serializer.Deserialize(textReader);

}

}

#endregion

 

#region Сериализация и десериализация списка объектов

 

public static void SaveListToBinnary<T>(String FileName, List<T> SerializableObjects)

{

using (FileStream fs = File.Create(FileName))

{

BinaryFormatter formatter = new BinaryFormatter();

formatter.Serialize(fs, SerializableObjects);

}

}

 

public static List<T> LoadListFromBinnary<T>(String FileName)

{

using (FileStream fs = File.Open(FileName, FileMode.Open))

{

BinaryFormatter formatter = new BinaryFormatter();

return (List<T>)formatter.Deserialize(fs);

}

}

 

//====================================================================

 

public static string SaveListToXml<T>(String FileName, List<T> SerializableObjects)

{

XmlSerializer serializer = new XmlSerializer(typeof(List<T>));

TextWriter textWriter = new StreamWriter(FileName, false);

 

try

{

serializer.Serialize(textWriter, SerializableObjects);

textWriter.Close();

return "Ok";

}

catch (Exception e)

{

textWriter.Close();

return "Error";

}

 

}

 

public static List<T> LoadListFromXml<T>(String FileName)

{

XmlSerializer serializer = new XmlSerializer(typeof(List<T>));

 

FileStream fs = new FileStream(FileName, FileMode.OpenOrCreate);

TextReader textReader = new StreamReader(fs);

 

try

{

List<T> LL = (List<T>)serializer.Deserialize(textReader);

textReader.Close();

return LL;

}

catch (Exception e)

{

textReader.Close();

return null;

}

 

/*

using (TextReader textReader = new StreamReader(FileName))

{

return (List<T>)serializer.Deserialize(textReader);

}*/

}

#endregion

 

 

}

}

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...