通过直接字符串引用将值传递给实体

时间:2013-05-08 12:03:53

标签: c# asp.net-mvc

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

假设我有一个实体:

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

    }

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

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
}

是否可以直接进行此类参考?

2 个答案:

答案 0 :(得分:6)

使用反射可以做到:

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

但实际上,让SaveValuesTimes个对象作为参数,你会不会感觉更好?然后你可以自己填写并保存反射。

答案 1 :(得分:2)

  

是否可以直接进行此类参考?

是的,您可以使用反射:

typeof(times).GetProperty(name).SetValue(t, value)