Changeset 4755 for branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.DataAccess/3.3/PersistableObject.cs
- Timestamp:
- 11/09/10 15:18:53 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.DataAccess/3.3/PersistableObject.cs
r4424 r4755 30 30 [DataContract] 31 31 [Serializable] 32 public class PersistableObject: IPersistableObject, IDeepCloneable { 33 34 public PersistableObject() { } 35 36 public PersistableObject(bool deserializing) { } 37 32 public class PersistableObject : IDeepCloneable, IPersistableObject { 38 33 [Storable] 39 34 [DataMember] 40 35 public Guid Id { get; set; } 36 37 public PersistableObject() { } 38 [StorableConstructor] 39 public PersistableObject(bool deserializing) { } 40 protected PersistableObject(PersistableObject original, Cloner cloner) { 41 cloner.RegisterClonedObject(original, this); 42 this.Id = original.Id; 43 } 44 public virtual IDeepCloneable Clone(Cloner cloner) { 45 return new PersistableObject(this, cloner); 46 } 47 public object Clone() { 48 return Clone(new Cloner()); 49 } 41 50 42 51 public override bool Equals(object obj) { … … 55 64 return this.Id.GetHashCode(); 56 65 } 57 58 public virtual IDeepCloneable Clone(Cloner cloner) {59 PersistableObject clone = (PersistableObject)Activator.CreateInstance(this.GetType(), true);60 cloner.RegisterClonedObject(this, clone);61 clone.Id = this.Id;62 return clone;63 }64 65 public object Clone() {66 return Clone(new Cloner());67 }68 66 } 69 67 }
Note: See TracChangeset
for help on using the changeset viewer.