如何根据字符串变量切换属性名称?

时间:2014-05-23 16:35:30

标签: c# linq

在下面的行代码中,如何根据PropertyName的值替换FirstProperty?

 var PropertyName = "SecondProperty"; // propNames.Where(n => n ==anArgument).FirstOrDefault();
 var result = db.GetData().Where(i = i.FirstProperty.ToString().Contains(someString));   

1 个答案:

答案 0 :(得分:3)

您可以使用反射执行此操作:

var PropertyName = "SecondProperty";
 var result = db.GetData().Where(i = i.GetType().GetProperty(PropertyName).GetValue(i).ToString().Contains(someString));