静态类/方法这和泛型

Fve*_*ver 3 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);
        }
Run Code Online (Sandbox Code Playgroud)

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

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

Bas*_*Bas 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);        
}
Run Code Online (Sandbox Code Playgroud)