internal void ProcessAndSortPropertyEntries(ArrayList propertyEntries, ref FilteredPropertyEntryComparer comparer) { if (propertyEntries != null && propertyEntries.Count > 1) { HybridDictionary dictionary = new HybridDictionary(propertyEntries.Count, true); int index = 0; // Determine the order of the entry based on location of the first entry with the same name foreach (PropertyEntry entry in propertyEntries) { object o = dictionary[entry.Name]; if (o != null) { entry.Order = (int)o; } else { entry.Order = index; dictionary.Add(entry.Name, index++); } } if (comparer == null) { comparer = new FilteredPropertyEntryComparer(CurrentFilterResolutionService); } propertyEntries.Sort(comparer); } }
internal void ProcessAndSortPropertyEntries(ArrayList propertyEntries, ref FilteredPropertyEntryComparer comparer) { if ((propertyEntries != null) && (propertyEntries.Count > 1)) { HybridDictionary dictionary = new HybridDictionary(propertyEntries.Count, true); int num = 0; foreach (PropertyEntry entry in propertyEntries) { object obj2 = dictionary[entry.Name]; if (obj2 != null) { entry.Order = (int) obj2; } else { entry.Order = num; dictionary.Add(entry.Name, num++); } } if (comparer == null) { comparer = new FilteredPropertyEntryComparer(this.CurrentFilterResolutionService); } propertyEntries.Sort(comparer); } }