Я переопределен метод ApplySortCore
для пользовательского BindingList так:Как определить свойство уровня класса для PropertyDescriptor для сортировки BindingList?
public void ApplySort(PropertyDescriptor prop, ListSortDirection direction)
{
ApplySortCore(prop, direction);
}
protected override void ApplySortCore(PropertyDescriptor prop, ListSortDirection direction)
{
sortedList = new System.Collections.ArrayList();
Type interfaceType = prop.PropertyType.GetInterface("IComparable");
if (interfaceType != null)
{
sortPropertyValue = prop;
sortDirectionValue = direction;
unsortedList = new System.Collections.ArrayList(this.Count);
foreach (Object item in this.Items)
{
sortedList.Add(prop.GetValue(item));
unsortedList.Add(item);
}
sortedList.Sort();
isSortedValue = true;
OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
}
}
Как можно определить уровень класса PropertyDescriptor (свойство класса InstanceName), чтобы вызвать это непосредственно следующим образом:
_filteredEntityTally.ApplySort(???? ,ListSortDirection.Ascending);
непосредственно вы имеете в виду вы хотите CREA т. е. метод расширения или что? –
@Shekhar_Pro - Я просто хочу применить сортировку на BindingList. Мне нужно передать PropertyDescriptor, который определяет свойство для сортировки .. – wulfgarpro