Changeset 2830 for trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs
- Timestamp:
- 02/19/10 02:15:10 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs
r2790 r2830 21 21 22 22 using System; 23 using System.Linq; 23 24 using System.Collections; 24 25 using System.Collections.Generic; … … 55 56 public ItemArray() : base() { } 56 57 public ItemArray(int length) : base(length) { } 57 public ItemArray(T[] array) : base(array) { } 58 public ItemArray(IEnumerable<T> collection) : base(collection) { } 58 public ItemArray(T[] array) : base(array) { 59 foreach (T item in this) 60 item.Changed += new ChangedEventHandler(Item_Changed); 61 } 62 public ItemArray(IEnumerable<T> collection) : base(collection) { 63 foreach (T item in this) 64 item.Changed += new ChangedEventHandler(Item_Changed); 65 } 59 66 60 67 public object Clone() { … … 62 69 } 63 70 64 public IDeepCloneable Clone(Cloner cloner) { 65 T[] items = new T[Length]; 66 for (int i = 0; i < items.Length; i++) 67 items[i] = (T)cloner.Clone(this[i]); 68 ItemArray<T> clone = (ItemArray<T>)Activator.CreateInstance(this.GetType(), new object[] { items }); 71 public virtual IDeepCloneable Clone(Cloner cloner) { 72 ItemArray<T> clone = (ItemArray<T>)Activator.CreateInstance(this.GetType(), this.Select(x => (T)cloner.Clone(x))); 69 73 cloner.RegisterClonedObject(this, clone); 70 74 return clone;
Note: See TracChangeset
for help on using the changeset viewer.