//метод для копирования данных из одного экземпляра в другой, //нужен при десериализации, если просто ссылку менять, то датаконтекст теряется //а ссылку на поле экземпляра невозможно передать в качестве параметра public void TransitFrom(ObservableModelData obj) { this.Clear(); foreach (var md in obj) { Add(md); } changed = false; }
public void copy(ObservableModelData ObModelData) { base.Clear(); foreach (ModelData MD in ObModelData) { base.Add((ModelData)MD.DeepCopy()); } this.Change = ObModelData.Change; }
//serialization public static bool Serialize(string filename, ref ObservableModelData obj) { BinaryFormatter bf = new BinaryFormatter(); FileStream fs = null; bool ret = false; try { fs = File.Create(filename); bf.Serialize(fs, obj); ret = true; } //catch (Exception) //{ //} finally { if (fs != null) { fs.Close(); } } return(ret); }
public static bool Load(IDeserialize deserializer, ref ObservableModelData obj) { return(deserializer.Deserialize(ref obj)); }
public static bool Save(ISerialize serializer, ObservableModelData obj) { return(serializer.Serialize(obj)); }