我想根据位于视图模型中的 2 个属性来比较我的视图模型集合。我需要的是根据开始日期对我的视图模型进行排序,但如果结束日期比今天低,它应该放在集合的底部,关于在订单完成后它应该如何的示例:
Stardate Enddate
25/06/2012 25/06/2022
21/06/2012 21/04/2018
31/06/2012 02/07/2012
28/06/2012 01/07/2012
我认为这应该被称为,像这样:
bankPolicyViewModels.OrderBy(vm => new {StartDate = vm.BankAccountViewModel.StartDateIRA,
EndDate = vm.BankAccountViewModel.EndDateIRA},
new ComparerForAnonymousType);
但我不知道如何定义比较器。目前我只有这个:
public class ComparerForAnonymousType<T> : IComparer<T>
where T : class
{
public int Compare(T x, T y)
{
throw new NotImplementedException();
}
}
我可以尝试通过反射来解析定义的属性,但这将是一种简单的方法(我猜也是性能很重)。
有什么方法可以将匿名类型定义为T
,还是有其他方法可以根据 2 个属性对集合进行排序?