小编wal*_*low的帖子

如何将用户输入字符串作为字段名称传递以访问对象中的字段?

我正在使用linq从数据库中进行一些搜索.我有多个列名,如国家/地区,姓名,电话号码......

现在我创建了一个下拉列表,并将用户选择的数据作为参数"searchingField"传递给我的控制器方法.现在如果我接受"国家"的输入,我希望代码是

    entries = entries.Where(s => s.country.Contains(searchString));
Run Code Online (Sandbox Code Playgroud)

如果用户选择"名称"

    entries = entries.Where(s => s.name.Contains(searchString));
Run Code Online (Sandbox Code Playgroud)

请原谅我这个相当不合理的例子,因为我总是可以复制线条并制作案例,但我想知道是否有办法利用反射之类的东西将字符串转换为"代码"以访问字段?

    String searchedField = "name"

    ...

    entries = entries.Where(s => s.searchedField.Contains(searchString));
Run Code Online (Sandbox Code Playgroud)

这是我的第一个问题,谢谢!

c# linq system.reflection

5
推荐指数
1
解决办法
769
查看次数

标签 统计

c# ×1

linq ×1

system.reflection ×1