我有一个返回某个通用列表的方法。
我希望能够将此方法传递给字符串值,该字符串值将代表类名称中的一个字段,并且基于此我想按此字段对数据进行排序。我希望以不同于交换机的方式执行此操作。
例如;
private void GetList()
{
var list = GetResearchStocks("Sedol");
}
private List<Stocks> GetResearchStocks(string orderBy = "")
{
var currentResearchStockList = _reports.GetZeusData("tblResearchStocks");
var researchStocklist = currentResearchStockList.AsEnumerable().ToList();
_zeusResearchStocks = researchStocklist.Select(item => new ZEUS_ResearchStocks
{
Sedol = item[0].ToString(),
StockName = item[1].ToString(),
}
).ToList();
if (orderBy != "")
{
return _zeusResearchStocks.OrderBy(o=>o.) ?????? < What to do here?
}
return _zeusResearchStocks;
}
答案 0 :(得分:2)
您可以使用Dynamic Linq库(DLinq),也可以使用反射编写扩展方法,以便在order
语句中使用字符串变量。
对于第二个选项,请参阅this example。