所以我有一个我想在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关键字。如果不可能,我想我将不得不为每种类型使用不同的重载程序。
答案 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);
}