1
私のSilverlightプロジェクトでは、すべて同じメソッド「Tester()」が必要な多くのビューがあります。明らかに、私はこのメソッドを再利用可能にしたいが、私はそこに着くだけではない。エンティティの索引付け
は私が持っていることはこれです:
void Tester(IList<MyEntity> list)
{
var sortedlist=list.OrderBy(me=>me.Sortkey).ToList();
}
これはだけMyEntityため、正常に動作します。私が本当に欲しい
は基本的にこれです:
void Tester<T>(IList<T> list, string mySortField)
{
var sortedlist=list.OrderBy("mySortField").ToList();
}
はコンパイルされません。
どうすればいいですか?
void Tester<T>(IList<T> list, Func<T, object> mySort) {
var sortedlist=list.OrderBy(mySort).ToList();
}
...
Tester<MyEntity>(list, t => t.mySortField);
それはもう少し詳細な文字列を渡すよりもですが、少なくともあなたがソートフィールドのコンパイル時にチェックを取得:事前に Thxを、フランク
回答が必要な@Haris http://stackoverflow.com/questions/41244/dynamic-linq-orderby/233505#233505 –
@ハリスを見てください。あなたはそれをしない場合:) – DanTheMan
@ user24601先に行く私はそれを行うにはあまりにも怠惰です;) –