[Serializable()] public class ObjectToSerialize : ISerializable { private List<Line> xLines; private List<Line> yLines; public List<Line> XLines { get { return this.xLines; } set { this.xLines = value; } } public List<Line> Xlines { get { return this.xLines; } set { this.xLines = value; } } public ObjectToSerialize() { } public ObjectToSerialize(SerializationInfo info, StreamingContext ctxt) { try { this.xLines = (List<Line>)info.GetValue("xLines", typeof(List<Line>)); } catch(Exception e) { System.Windows.Application.Current.Resources["infoSB"] = e.Message; } } public void GetObjectData(SerializationInfo info, StreamingContext ctxt) { info.AddValue("xLines", this.xLines); //info.AddValue("xLinesObj", this.obj); } }
public class Serializer { public Serializer() { } public void SerializeObject(string filename, ObjectToSerialize objectToSerialize) { using (Stream stream = File.Open(filename, FileMode.Create)) { BinaryFormatter bFormatter = new BinaryFormatter(); bFormatter.Serialize(stream, objectToSerialize); //Here I get the exception stream.Close(); } } public ObjectToSerialize DeSerializeObject(string filename) { ObjectToSerialize objectToSerialize = null; try { using (Stream stream = File.Open(filename, FileMode.Open)) { BinaryFormatter bFormatter = new BinaryFormatter(); objectToSerialize = (ObjectToSerialize)bFormatter.Deserialize(stream); stream.Close(); } } catch (Exception e) { System.Windows.MessageBox.Show(e.Message); } return objectToSerialize; } }
ObjectToSerialize objectToserialize = new ObjectToSerialize(); objectToserialize.Xlines = xLines; //List<Line> xLines Serializer serializer = new Serializer(); serializer.SerializeObject(serializeFileName, objectToserialize);
How can I make Line as Serializable?