搜索通用类字段名称

时间:2013-02-13 11:36:27

标签: c#

我有一个返回某个通用列表的方法。

我希望能够将此方法传递给字符串值,该字符串值将代表类名称中的一个字段,并且基于此我想按此字段对数据进行排序。我希望以不同于交换机的方式执行此操作。

例如;

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;
}

1 个答案:

答案 0 :(得分:2)

您可以使用Dynamic Linq库(DLinq),也可以使用反射编写扩展方法,以便在order语句中使用字符串变量。

对于第二个选项,请参阅this example