ビューモデル内に存在する 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 つのプロパティに基づいてコレクションをソートできる他の方法はありますか?