Queryable有方法OrderBy(这个IQueryable源,Expression> keySelector)。
我需要这样一种输入多键而不是一键的方法。 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 });
存在比这更好的模式吗?或者这是正确的。