静态类/方法这和泛型

时间:2011-08-19 12:04:36

标签: c# generics static

所以我有一个我想在List上调用的方法(这是我每次在不同文件中运行的通用方法,所以我想把它放在一个静态类中。)

方法是:

public static List<Item> GetRangeOrMax(this List<Item> list, int amount)
        {
            return list.Count < amount ? list.GetRange(0, list.Count) : list.GetRange(0, amount);
        }

问题是我不需要运行此列表的所有列表都是Item类型。我想知道我是否能够使用泛型来解决这个问题?说一句(List<T> list ...

这里的问题是该方法还必须返回该值,我想继续使用this关键字。如果不可能,我想我将不得不为每种类型使用不同的重载程序。

1 个答案:

答案 0 :(得分:6)

您可以使用通用扩展方法。

static List<T> GetRangeOrMax<T>(this List<T> list, int amount)        
{            
      return list.Count < amount ? list.GetRange(0, list.Count) : list.GetRange(0, amount);        
}