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

本文关键字:值传 实体 引用 字符串 | 更新日期: 2023-09-27 18:12:53

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

假设我有一个实体:

   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
}

有可能直接做这种引用吗?

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

使用反射,可以这样做:

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

现实地说,让你的SaveValues接受Times对象作为它的参数不是更好吗?然后你可以自己填充并保存反射

有可能直接做这种引用吗?

是的,你可以使用反射:

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