例如,下面代码里 通过 demo.Id 返回“Id”
static void Main(string[] args) { var demo = new Demo(); var s = GetPropertyName(demo.Id); // 该方法返回 ”Id“ } class Demo { public int Id { get; set; } }
public static string GetName<T>(this Expression<Func<T, object>> expression)
{
var body = expression.Body.ToString();
var name = body.Substring(body.LastIndexOf(".") + 1);
name = name.TrimEnd(')');
return name;
}
反射不能这样用
你需要nameof关键字..不过要vs2015
static void Main(string[] args)
{
var demo = new Demo();
var s = GetPropertyName(demo.Id); // 该方法返回 ”Id“
//创建一个类(将变量存储到类里面的变量中)
DemoEntiy entiy = new DemoEntiy()
entiy.DemoId=s;//这个DemoId是 你类中的一个变量
}
class Demo
{
public int Id { get; set; }
}
//使用的时候 在实例化那个类就可以啦