作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个特定的方法我想在 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 关键字。如果不可能,我想我将不得不为每种类型使用不同的重载器来制作该方法。
最佳答案
您可以使用通用扩展方法。
static List<T> GetRangeOrMax<T>(this List<T> list, int amount)
{
return list.Count < amount ? list.GetRange(0, list.Count) : list.GetRange(0, amount);
}
关于c# - 静态类/方法 this 和泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121276/
我是一名优秀的程序员,十分优秀!