Opened 10 years ago
Closed 9 years ago
#2575 closed defect (done)
ObservableList's AddRange enumerates multiple times
| Reported by: | abeham | Owned by: | abeham |
|---|---|---|---|
| Priority: | medium | Milestone: | HeuristicLab 3.3.14 |
| Component: | Collections | Version: | 3.3.13 |
| Keywords: | Cc: |
Description
It enumerates it a total of three times which may produce three different collections.
public void AddRange(IEnumerable<T> collection) {
int capacity = list.Capacity;
int index = list.Count;
list.AddRange(collection); // HERE
List<IndexedItem<T>> items = new List<IndexedItem<T>>();
foreach (T item in collection) { // HERE
items.Add(new IndexedItem<T>(index, item));
index++;
}
if (items.Count > 0) {
OnItemsAdded(items);
OnItemsAdded(collection); // HERE
if (list.Capacity != capacity)
OnPropertyChanged("Capacity");
OnPropertyChanged("Item[]");
OnPropertyChanged("Count");
}
}
Change History (4)
comment:1 Changed 10 years ago by abeham
- Owner set to abeham
- Status changed from new to accepted
comment:2 Changed 10 years ago by abeham
- Owner changed from abeham to mkommend
- Status changed from accepted to reviewing
comment:3 Changed 10 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from reviewing to readytorelease
Reviewed r13597.
comment:4 Changed 9 years ago by mkommend
- Resolution set to done
- Status changed from readytorelease to closed
Note: See
TracTickets for help on using
tickets.



r13597: fixed multiple enumeration of collection in ObservableCollection and ObservableList