重複の可能性:
動的 LINQ OrderBy
LinqのOrderByまたはOrderByDescendingステートメントに値を渡すにはどうすればよいですか? プロパティ名を動的に取得しようとしています:
x.GetType().GetProperty(sortField)
うまくいかないようです。何か案は?
private void DynamicSort(ref List<Quote> myQuotes, String sortField, String direction)
{
if(direction == "ASC"){
this.grdViewDrafts.DataSource = myQuotes.OrderBy(x => x.GetType().GetProperty(sortField)).ToList();
}else{
this.grdViewDrafts.DataSource = myQuotes.OrderByDescending(x => x.GetType().GetProperty(sortField)).ToList();
}
}
解決:
this.grdViewDrafts.DataSource = myQuotes.OrderBy(x => x.GetType().GetProperty(sortField).GetValue(x, null)).ToList();