2

(类似于这个问题

我有名为“问题”和“最终数字”的表格:

问题(QuestionID、文本、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
4

1 回答 1

6

您可以使用一些反射来通过属性的字符串名称获取属性值,而不是直接访问它。

var value = (int)item.GetType().GetProperty("TotalDays").GetValue(item);

要设置值,只需调用 SetValue();

item.GetType().GetProperty("TotalDays").SetValue(item, value);
于 2013-10-30T14:53:09.967 回答