问题在于是否可以对Generic.List(Of T)进行内置排序。我们有一个自定义的gridview,它被编译成自己的DLL以及类的编译DLL。现在,我可以通过将Generic.List转换为iCollection进行分页来获取计数,但是我可以创建某种Sort函数来接受任何Generic.List(Of AnyType)并相应地进行排序。
我已经能够将Generic.List(Of AnyType)转换为Generic.List(Of Object),我想我可以将该集合中的对象转换为相同的类型和排序,但我是不确定这是否可能。我现在担心的是,由于类处于编译状态,我将无法将对象强制转换回原始类型。
这是一个安全的假设,还是可以这样做?简单地跳过通用列表的控件排序并允许开发人员通过LINQ或其他方式在事件中进行排序更为有利。
答案 0 :(得分:0)
通用列表已经具有Sort(并且因为它实现了ICollection,所以也是Count)
public void Sort();
public void Sort(IComparer<T> comparer);
public void Sort(int index, int count, IComparer<T> comparer);
public void Sort(Comparison<T> comparison);
为什么不使用那些?
public class SomeGridViewWrapper<T>
{
private List<T> _dataSource;
public void Sort(Comparison<T> comparison)
{
_dataSource.Sort(comparison);
}
}