ASP.NET:Generic.List(Of T)的内置Gridview排序

时间:2010-12-10 00:35:34

标签: asp.net generics gridview casting

问题在于是否可以对Generic.List(Of T)进行内置排序。我们有一个自定义的gridview,它被编译成自己的DLL以及类的编译DLL。现在,我可以通过将Generic.List转换为iCollection进行分页来获取计数,但是我可以创建某种Sort函数来接受任何Generic.List(Of AnyType)并相应地进行排序。

我已经能够将Generic.List(Of AnyType)转换为Generic.List(Of Object),我想我可以将该集合中的对象转换为相同的类型和排序,但我是不确定这是否可能。我现在担心的是,由于类处于编译状态,我将无法将对象强制转换回原始类型。

这是一个安全的假设,还是可以这样做?简单地跳过通用列表的控件排序并允许开发人员通过LINQ或其他方式在事件中进行排序更为有利。

1 个答案:

答案 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);
    }
}