c# - 搜索通用类字段名称

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

最佳答案

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

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

关于c# - 搜索通用类字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14852638/

相关文章:

c# - 如何在 asp.net c# 应用程序中放置一个可选的文件上传按钮?

c# - 如何在绑定(bind) ItemsSource 时将按钮添加到 wpf 列表框

c# - 如何使用 MVC 4 上传大文件?

c# - smartfox 服务器未收到登录请求

c# - 将 List<object> 添加到 EF

c# - 如何在消息框中写入字典的内容?

c# - 是否有允许您搜索和加载文章的维基百科 API?

c# - ASP.NET 中的 Microsoft Search Server 或 Microsoft Search Service

c# - 如何验证输入是否包含有效的 .Net 正则表达式?

c# - 为什么语言不在核心集成依赖注入(inject)?