我想从它的派生类中对基类中的公共列表进行排序。
每个派生类按不同的属性排序。泛型集合的参数
因此我用this想法:通过相关属性来排序基类列表。
protected void SortBy(Func<MyBaseClass, IComparable> getProp)
{
if (BaseClassList != null && BaseClassList .Count > 0)
{
BaseClassList = BaseClassList
.OrderBy(x => getProp(x))
.ToList();
}
}
而且通过SortBy(x => x.GetTop);
嗯从派生类调用它,现在我想通过几个属性进行排序;对于每个额外发送的属性,应将ThenBy
表达式添加到方法主体中。
BaseClassList = BaseClassList
.OrderBy(x => getProp(x))
.ThenBy(x => x.getOtherProp)
.ToList();
因为我不知道有多少属性将被送到我想用params
想法。
但是,我知道这是不可能的,因为'The parameter array must be a single dimensional array
'。
任何想法?
'PARAMS Func键 [] getters'? –
@AlexeiLevenkov,谢谢。你可以显示代码片段,以便我可以正确理解我应该在方法体中更改哪些内容?提前致谢! – user3165438