QueryableにはメソッドOrderBy(このIQueryableソース、式> keySelector)があります。フィールド名リストを受け入れるメソッドを作成する最善の方法
マルチキーを1つのキーではなく入力する方法が必要です。 1つのフィールドに使用されるOrderByメソッドのKeySelectorですが、私のメソッドは多くのフィールド名を受け入れます。
私は従うような方法を作成したが、私は、これはそれを行うための最善の方法であるかわからないよ:
class Foo<T>
{
public void MyMethod(Expression<Func<T, Object>> selector)
{
List<string> props = ((NewExpression)selector.Body).Members.Select(p => p.Name).ToList();
//some work with props
}
}
Foo<ClassA> foo = new Foo<ClassA>();
foo.MyMethod(u => new { u.MyProperty, u.MyProperty2 });
はこれより優れたパターンが存在するですか?またはこれは正しいです。
あなたは 'OrderBy'とその使用後に' ThenBy'およびその使用後に 'ThenBy'、その後に使用することができます... –
M.kazem Akhgary私はのOrderByおよびThenByで問題ありませんよ。私はそれぞれの呼び出しでPropertyを受け入れないメソッドが必要です。私は1つの呼び出しで多くのプロパティを受け入れるメソッドを作成する必要があります。 –