我有一个方法可以返回某些内容的通用列表。
我希望能够向此方法传递一个字符串值,该值将表示类名称中的字段之一,并且基于此我想按此字段对数据进行排序。我想以除开关之外的不同方式来执行此操作。
例如;
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;
}
最佳答案
您可以使用Dynamic Linq库(DLinq),或者您可以使用反射编写扩展方法以在 order
语句中使用字符串变量。
对于第二个选项,请参阅this example .
关于c# - 搜索通用类字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14852638/