- Timestamp:
- 11/06/10 01:56:04 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Core/3.3/Collections/NamedItemCollection.cs
r4068 r4722 29 29 [StorableClass] 30 30 public class NamedItemCollection<T> : KeyedItemCollection<string, T> where T : class, INamedItem { 31 [StorableConstructor] 32 protected NamedItemCollection(bool deserializing) : base(deserializing) { } 33 protected NamedItemCollection(NamedItemCollection<T> original, Cloner cloner) 34 : base(original, cloner) { 35 RegisterItemEvents(this); 36 } 31 37 public NamedItemCollection() : base() { } 32 38 public NamedItemCollection(int capacity) : base(capacity) { } 33 39 public NamedItemCollection(IEnumerable<T> collection) 34 40 : base(collection) { 35 Initialize();41 RegisterItemEvents(this); 36 42 } 37 [StorableConstructor]38 protected NamedItemCollection(bool deserializing) : base(deserializing) { }39 43 40 44 [StorableHook(HookType.AfterDeserialization)] 41 pr otected void Initialize() {45 private void AfterDeserialization() { 42 46 RegisterItemEvents(this); 43 47 } 44 48 45 49 public override IDeepCloneable Clone(Cloner cloner) { 46 NamedItemCollection<T> clone = (NamedItemCollection<T>)base.Clone(cloner); 47 clone.Initialize(); 48 return clone; 50 return new NamedItemCollection<T>(this, cloner); 49 51 } 50 52 … … 73 75 } 74 76 75 pr ivatevoid RegisterItemEvents(IEnumerable<T> items) {77 protected void RegisterItemEvents(IEnumerable<T> items) { 76 78 foreach (T item in items) { 77 79 if (item != null) {
Note: See TracChangeset
for help on using the changeset viewer.