Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.00 KB | None | 0 0
  1. void Main()
  2. {
  3.     Ustawienie u = new Ustawienie();
  4.     Ustawienie u_wczytane;
  5.     u.nazwa = "Test";
  6.     u.dane.Add(new Podzialka(1, 2, false));
  7.     u.dane.Add(new Podzialka(2, 4, false));
  8.     u.dane.Add(new Podzialka(3, 3, true));
  9.     u.dane.Add(new Podzialka(4, 2, true));
  10.     Console.WriteLine("Serializacja.");
  11.     Ustawienie.zapiszPlik(u);
  12.     Console.WriteLine("Deserializacja.");
  13.     u_wczytane = Ustawienie.otworzPlik();
  14.     Console.WriteLine(u_wczytane);
  15. }
  16.  
  17. [Serializable()]
  18. public class Ustawienie : System.Runtime.Serialization.ISerializable
  19. {
  20.     private static readonly string plik_z_ustawieniami = @"C:\users\1234\Desktop\profile.bin";
  21.     public string nazwa { get; set; }
  22.     public List<Podzialka> dane { get; set; }
  23.     public Ustawienie()
  24.     {
  25.         nazwa = "";
  26.         dane = new List<Podzialka>();
  27.     }
  28.     public Ustawienie(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
  29.     {
  30.         nazwa = info.GetString("nazwa");
  31.         dane = (List<Podzialka>) info.GetValue("podzialka", typeof(List<Podzialka>));
  32.         Console.WriteLine("Zdeserializowano.");
  33.     }
  34.     public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
  35.     {
  36.         Console.WriteLine("Serializuje.");
  37.         info.AddValue("nazwa", this.nazwa);
  38.         info.AddValue("podzialka", this.dane);
  39.     }
  40.     public static void zapiszPlik(Ustawienie ust)
  41.     {
  42.         using (FileStream plik = new FileStream(plik_z_ustawieniami, FileMode.OpenOrCreate))
  43.         {
  44.             System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
  45.             bf.Serialize(plik, ust);
  46.         }
  47.     }
  48.     public static Ustawienie otworzPlik()
  49.     {
  50.         using (FileStream plik = new FileStream(plik_z_ustawieniami, FileMode.Open))
  51.         {
  52.             System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
  53.             return (Ustawienie)bf.Deserialize(plik);
  54.         }
  55.     }
  56. }
  57.  
  58. [Serializable()]
  59. public class Podzialka : System.Runtime.Serialization.ISerializable
  60. {
  61.     public int lp { get; set; }
  62.     public int podzialka { get; set; }
  63.     public bool blokada { get; set; }
  64.     public Podzialka() { }
  65.     public Podzialka(int lp, int podzialka, bool blokada)
  66.     {
  67.         this.lp = lp;
  68.         this.podzialka = podzialka;
  69.         this.blokada = blokada;//.Equals("nie")) ? false : true;
  70.     }
  71.     public Podzialka(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
  72.     {
  73.         lp = info.GetInt32("lp");
  74.         podzialka = info.GetInt32("podzialka");
  75.         blokada = info.GetBoolean("blokada");//.Equals("nie") ? false : true;
  76.     }
  77.     public void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
  78.     {
  79.         info.AddValue("lp", lp);
  80.         info.AddValue("podzialka", podzialka);
  81.         info.AddValue("blokada", blokada);//.Equals(false) ? "nie" : "tak");
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement