2

我知道这听起来有点模糊,所以我不能提供编码解释。

假设我有一个实体:

   public class Times
    {
        public int TimesId { get; set; }
        public int DateRange { get; set; }
        public String Days { get; set; }

    }

以及带有返回值的操作。我想根据传递给操作的“名称”值在我的实体内部设置一个属性:

public JsonResult SaveValues(string name, int value)
{
    //lets say: name = "TimesId" 

    times t = new times;
    // t.name = should refer to t.TimesId and used to insert values like t.TimesId
    t.name = value; // what I'm trying to acheive
}

可以直接做这种参考吗?

4

2 回答 2

6

可以通过以下方式使用反射:

Times t = new Times();
typeof(Times).GetProperty(name).SetValue(t, value);

但实际上,将对象作为参数不是更好SaveValuesTimes?然后你可以自己填充它并保存反射。

于 2013-05-08T12:06:34.353 回答
2

可以直接做这种参考吗?

是的,您可以使用反射:

typeof(times).GetProperty(name).SetValue(t, value)
于 2013-05-08T12:07:17.043 回答