- Timestamp:
- 12/02/08 14:13:06 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CloningRefactorBranch/HeuristicLab.Data/BoolData.cs
r776 r885 54 54 Data = data; 55 55 } 56 57 /// <summary> 58 /// Copy constructor to create deep clones. 59 /// </summary> 60 /// <param name="original">The instance to be cloned.</param> 61 public BoolData(BoolData original) : this(original, new Dictionary<Guid, object>()) { } 62 63 /// <summary> 64 /// Copy constructor to create deep clones reusing already cloned object references. 65 /// </summary> 66 /// <param name="original">The instance to be cloned.</param> 67 /// <param name="clonedObjects">Already cloned objects (for referential integrity).</param> 68 protected BoolData(BoolData original, IDictionary<Guid, object> clonedObjects) 69 : base(original, clonedObjects) { 70 this.Data = original.Data; 71 } 56 72 /// <summary> 57 73 /// Creates a new instance of the <see cref="BoolDataView"/> class. … … 63 79 64 80 /// <summary> 65 /// Clones the current instance .81 /// Clones the current instance using the copy constructor. 66 82 /// </summary> 67 /// <remarks>The cloned instance is added to the <paramref name="dictionary"/>.</remarks>68 83 /// <param name="clonedObjects">Dictionary of all already cloned objects.</param> 69 84 /// <returns>The cloned instance as <see cref="BoolData"/>.</returns> 70 85 public override object Clone(IDictionary<Guid, object> clonedObjects) { 71 BoolData clone = new BoolData(); 72 clonedObjects.Add(Guid, clone); 73 clone.Data = Data; 74 return clone; 86 return new BoolData(this, clonedObjects); 75 87 } 76 88 /// <summary> … … 82 94 /// <param name="persistedObjects">The dictionary of all already persisted objects. (Needed to avoid cycles.)</param> 83 95 /// <returns>The saved <see cref="XmlNode"/>.</returns> 84 public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {96 public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) { 85 97 XmlNode node = base.GetXmlNode(name, document, persistedObjects); 86 98 node.InnerText = ToString(); … … 95 107 /// <param name="restoredObjects">The dictionary of all already restored objects. 96 108 /// (Needed to avoid cycles.)</param> 97 public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {109 public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) { 98 110 base.Populate(node, restoredObjects); 99 111 Data = bool.Parse(node.InnerText);
Note: See TracChangeset
for help on using the changeset viewer.