我希望能够执行以下操作,在此我根据变量名称选择字段。下面的行不通,我不做大的switch语句就找不到解决方案。

var guidId = new Guid("");
var fieldName= "somefield";

var query =
 from c in Financials
 where c.GuidId == guidId
 select **fieldName**;


他们是这样做的简单方法吗?

谢谢奥斯汀

最佳答案

试试看:

select c.GetType().GetProperty(fieldName).GetValue(c, null)


我在this SO question上找到了这个。如果我的答案由于某种原因在查询中不起作用,您可以输入select c,然后按照SO问题的答案中所示的方法进行处理。

注意:它返回一个object,所以要小心!

10-06 03:29