(类似于this question)
我有名为'Questions'和'FinalFigures'的表格:
问题(QuestionID,Text,FinalFiguresColumnName)
FinalFigures(FinalFigureID,TotalDays,TotalCost等)
'FinalFiguresColumnName'将具有“TotalDays”,“TotalCost”等值。是否有一种简单的方法可以循环查看一组问题,并将'Text'值保存到'FinalFigures'上的相应列名称中表
IE中。而不是:
var item = new FinalFigure();
item.TotalDays = "x";
我需要:
var item = new FinalFigure();
// access the column 'TotalDays' with its name as a string, not a property
答案 0 :(得分:5)
您可以使用一些反射来通过属性的字符串名称获取属性值,而不是直接访问它。
var value = (int)item.GetType().GetProperty("TotalDays").GetValue(item);
要设置该值,只需调用SetValue();
item.GetType().GetProperty("TotalDays").SetValue(item, value);