Page 161 - CSharp/C#
P. 161

Now code will look like this:


        Version 2


         [Serializable]
         class NewItem
         {
             [OptionalField]
             private string _name;

             public string Name
             {
                 get { return _name; }
                 set { _name = value; }
             }
         }

         [Serializable]
         class Data
         {
             [OptionalField]
             private int _version;

             public int Version
             {
                 get { return _version; }
                 set { _version = value; }
             }

             [OptionalField]
             private List<NewItem> _newItems;

             public List<NewItem> NewItems
             {
                 get { return _newItems; }
                 set { _newItems = value; }
             }
         }


        And code for serialize and deserialize


         private static byte[] SerializeData(object obj)
         {
             var binaryFormatter = new BinaryFormatter();
             using (var memoryStream = new MemoryStream())
             {
                 binaryFormatter.Serialize(memoryStream, obj);
                 return memoryStream.ToArray();
             }
         }

         private static object DeserializeData(byte[] bytes)
         {
             var binaryFormatter = new BinaryFormatter();
             using (var memoryStream = new MemoryStream(bytes))
                 return binaryFormatter.Deserialize(memoryStream);
         }






        https://riptutorial.com/                                                                             107
   156   157   158   159   160   161   162   163   164   165   166